Docker 命令详解:容器、镜像、网络和数据卷管理

文章目录

      • 1. `docker run`
      • 2. `docker pull`
      • 3. `docker images`
      • 4. `docker ps`
      • 5. `docker stop`
      • 6. `docker rm`
      • 7. `docker commit`
      • 8. `docker exec`
      • 9. `docker logs`
      • 10. `docker network`
      • 11. `docker volume`
      • 12. `docker save`
      • 13. `docker load`
      • 14. `docker tag`
      • 15. `docker search`
      • 16. `docker diff`
      • 17. `docker cp`
      • 18. `docker pause`
      • 19. `docker unpause`
      • 20. `docker attach`
      • 21. `docker stats`
      • 22. `docker wait`
      • 23. `docker rmi`
      • 24. `docker build`

Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
以下是一些常用的 Docker 命令及其用法和场景:

1. docker run

命令: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
用法: 启动一个新容器。
场景: 当你想要从一个镜像创建一个新容器并运行一个命令时使用。
示例:

  • 启动一个名为 my_containerubuntu 镜像容器并执行 echo "Hello, Docker!" 命令:
    docker run -name my_container -it ubuntu echo "Hello, Docker!"
    

2. docker pull

命令: docker pull [OPTIONS] NAME[:TAG|@digest]
用法: 从仓库拉取或者更新指定的镜像。
场景: 当你需要下载一个镜像到本地仓库时使用。
示例:

  • 从 Docker Hub 拉取最新的 ubuntu 镜像:
    docker pull ubuntu
    

3. docker images

命令: docker images [OPTIONS]
用法: 列出本地存储的镜像。
场景: 当你需要查看本地所有镜像列表时使用。
示例:

  • 查看本地所有镜像:
    docker images
    

4. docker ps

命令: docker ps [OPTIONS]
用法: 列出当前运行的容器。
场景: 当你需要查看当前运行的容器列表时使用。
示例:

  • 查看所有运行中的容器:
    docker ps
    

5. docker stop

命令: docker stop [OPTIONS] NAME|ID
用法: 停止一个运行中的容器。
场景: 当你需要停止一个不再需要的运行中的容器时使用。
示例:

  • 停止名为 my_container 的容器:
    docker stop my_container
    

6. docker rm

命令: docker rm [OPTIONS] NAME|ID
用法: 删除一个或多个容器。
场景: 当你需要删除一个不再需要的容器时使用。
示例:

  • 删除名为 my_container 的容器:
    docker rm my_container
    

7. docker commit

命令: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
用法: 将容器的当前状态作为一个新的镜像保存。
场景: 当你对一个运行中的容器做了修改,并希望保存这些修改作为一个新的镜像时使用。
示例:

  • 将名为 my_container 的容器提交为一个新镜像,命名为 new_image
    docker commit my_container new_image
    

8. docker exec

命令: docker exec [OPTIONS] NAME|ID COMMAND [ARG...]
用法: 在运行的容器中执行命令。
场景: 当你需要在运行中的容器中执行命令时使用。
示例:

  • 在名为 my_container 的容器中执行 ls 命令:
    docker exec my_container ls
    

9. docker logs

命令: docker logs [OPTIONS] NAME|ID
用法: 获取容器的日志输出。
场景: 当你需要查看或跟踪容器的输出时使用。
示例:

  • 查看名为 my_container 的容器的日志输出:
    docker logs my_container
    

10. docker network

命令: docker network [OPTIONS] COMMAND
用法: 管理 Docker 的网络设置。
场景: 当你需要创建或管理容器的网络连接时使用。
示例:

  • 创建一个名为 my_network 的网络:
    docker network create my_network
    

11. docker volume

命令: docker volume [OPTIONS] COMMAND
用法: 管理 Docker 的数据卷。
场景: 当你需要持久化或共享容器数据时使用。
示例:

  • 创建一个数据卷:
    docker volume create my_volume
    
  • 查看所有数据卷:
    docker volume ls
    
  • 查看指定数据卷的信息:
    docker volume inspect my_volume
    
  • 删除一个数据卷:
    docker volume rm my_volume
    
  • 挂载一个数据卷到容器:
    docker run -d --name my_container -v my_volume:/path/to/mounted_volume my_image
    
  • 挂载一个本地目录到容器:
    docker run -d --name my_container -v /local/path:/path/to/mounted_volume my_image
    
  • 挂载一个只读卷:
    docker run -d --name my_container -v my_volume:/path/to/mounted_volume:ro my_image
    
  • 挂载多个卷:
    docker run -d --name my_container -v my_volume:/path/to/mounted_volume -v another_volume:/path/to/another_mounted_volume my_image
    

说明:

  • create: 创建一个新的数据卷。
  • ls: 列出所有本地数据卷。
  • inspect: 显示关于一个或多个数据卷的信息。
  • rm: 删除一个或多个数据卷。
  • mount: 挂载一个数据卷或本地目录到容器中。
    在挂载数据卷时,你可以使用本地目录,也可以挂载现有的数据卷。挂载时指定的路径在容器内部可见,并且可以作为容器内的文件系统路径使用。还可以通过 :ro 选项将卷挂载为只读,或者使用 :Z 选项(在 Linux 上)来设置卷的权限。
    数据卷是 Docker 中非常重要的一个功能,它使得数据的持久化和共享变得简单,并且可以跨容器的使用数据卷,这在多个容器之间共享数据时非常有用。

12. docker save

命令: docker save [OPTIONS] NAME|ID
用法: 将一个或多个镜像保存到本地文件。
场景: 当你需要备份或传输镜像时使用。
示例:

  • 将名为 my_image 的镜像保存到当前目录下的 my_image.tar 文件:
    docker save my_image > my_image.tar
    

13. docker load

命令: docker load [OPTIONS] file
用法: 从本地文件加载一个镜像。
场景: 当你需要从备份或传输的文件中恢复镜像时使用。
示例:

  • 从当前目录下的 my_image.tar 文件加载镜像:
    docker load < my_image.tar
    

14. docker tag

命令: docker tag [OPTIONS] IMAGE[:TAG|@digest] REPOSITORY[:TAG]
用法: 标记一个镜像以便于引用。
场景: 当你需要给镜像打上标签以便于管理时使用。
示例:

  • 将名为 my_image 的镜像标记为 REPOSITORY/my_image:latest
    docker tag my_image REPOSITORY/my_image:latest
    

15. docker search

命令: docker search [OPTIONS] QUERY
用法: 在 Docker Hub 上搜索镜像。
场景: 当你需要查找可在 Docker Hub 上使用的镜像时使用。
示例:

  • 在 Docker Hub 上搜索 ubuntu 镜像:
    docker search ubuntu
    

以上就是 Docker 的一些常用命令及其用法和场景。掌握这些命令,你可以更好地使用 Docker 来进行开发、测试和部署你的应用程序。

16. docker diff

命令: docker diff [OPTIONS] CONTAINER
用法: 显示容器的更改信息。
场景: 当你需要查看容器自上次启动以来有何更改时使用。
示例:

  • 查看名为 my_container 的容器的更改:
    docker diff my_container
    

17. docker cp

命令: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
用法: 在容器之间或容器与宿主机之间复制文件或目录。
场景: 当你需要在容器之间,或容器与宿主机之间传输文件时使用。
示例:

  • 从名为 my_container 的容器中复制 /app/data 文件到宿主机的 /home/user/ 目录:
    docker cp my_container:/app/data /home/user/
    

18. docker pause

命令: docker pause [OPTIONS] NAME|ID
用法: 暂停一个或多个正在运行的容器。
场景: 当你需要临时停止一个或多个容器时使用。
示例:

  • 暂停名为 my_container 的容器:
    docker pause my_container
    

19. docker unpause

命令: docker unpause [OPTIONS] NAME|ID
用法: 恢复一个或多个被暂停的容器。
场景: 当你需要恢复一个或多个被暂停的容器时使用。
示例:

  • 恢复名为 my_container 的容器:
    docker unpause my_container
    

20. docker attach

命令: docker attach [OPTIONS] NAME|ID
用法: 连接到正在运行的容器的标准输入。
场景: 当你需要与正在运行的容器交互时使用。
示例:

  • 连接到名为 my_container 的运行中的容器:
    docker attach my_container
    

21. docker stats

命令: docker stats [OPTIONS] NAME|ID
用法: 显示容器的资源使用情况。
场景: 当你需要监控容器的资源使用情况时使用。
示例:

  • 显示所有运行中的容器的资源使用情况:
    docker stats --all
    

22. docker wait

命令: docker wait [OPTIONS] NAME|ID
用法: 等待一个或多个容器停止。
场景: 当你需要在容器停止后进行其他操作时使用。
示例:

  • 等待名为 my_container 的容器停止:
    docker wait my_container
    

23. docker rmi

命令: docker rmi [OPTIONS] NAME|ID
用法: 删除一个或多个镜像。
场景: 当你需要删除一个或多个不再需要的镜像时使用。
示例:

  • 删除名为 my_image 的镜像:
    docker rmi my_image
    

24. docker build

命令: docker build [OPTIONS] PATH
用法: 使用 Dockerfile 构建镜像。
场景: 当你需要从 Dockerfile 构建一个镜像时使用。
示例:

  • 从当前目录下的 Dockerfile 构建镜像:
    docker build .
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/717011.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql注入之sqli-labs/less-3 单引号加括号闭合

输入单引号试探&#xff1a; id1 报错信息里面出现 ) 说明闭合符合里面还有个 ) 再次试探&#xff1a;id1 ) order by 3 -- 查看回显位置&#xff1a; id-1%20%27)%20union%20select%201,2,3%20-- 查看数据库&#xff1a; id-1%20%27)%20union%20select%201,2,database()%2…

Kerberos协议攻防之黄金票据控制整个公司电脑

&#x1f449;重点内容&#xff1a; 1、网络认证、本地认证、域认证的优略势 2、域认证之Kerberos协议的认证流程详解 3、TGT、Krbtgt、KDC、TGS搞懂这些绕口的概念 4、深入理解黄金票据攻击Golden Ticket Attack 5、实战&#xff01;通过黄金票据控制内网中所有的电脑

DC-2靶机详解

写写自己打DC-2的过程 使用工具 kali DC-2的靶机下载地址为&#xff1a;https://www.vulnhub.com/entry/dc-2,311/ 环境配置。 Kali和DC-2都设置为NAT模式&#xff0c;都为仅主机模式也可以。 信息收集 arp-scan -l nmap -sn 192.168.236.0/24 获取靶机ip&#xff1a;192.16…

基于springboot+vue的工厂车间管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

【Linux】输入系统应用

# 前置知识 (1)输入子系统分为三层&#xff0c;分别是事件处理层、核心层、设备驱动层&#xff1b; (2)鼠标移动、键盘按键按下等输入事件都需要通过设备驱动层→核心层→事件处理层→用户空间&#xff0c;层层上报&#xff0c;直到应用程序; 事件处理层 (1)事情处理层主要是负…

【八】【SQL】子查询和where

显示与SMITH同一部门的员工 mysql> select *from emp where enameSMITH; ----------------------------------------------------------------------- | empno | ename | job | mgr | hiredate | sal | comm | deptno | --------------------------------…

Python调用C,python call c,pybind11

文章目录 前言1.将pybind11 clone至当前项目下的extern目录下2.在CmakeLists.txt中将pybind11项目包含3.接口cpp文件格式4.编译5.导入Python使用6.性能比较pybind11项目地址 前言 通过https://github.com/pybind/pybind11项目实现Python调用C/C代码 实现步骤 1.将pybind11 cl…

腾讯云4核8G服务器申请费用多少?性能如何?支持几个人?

腾讯云4核8G服务器支持多少人在线访问&#xff1f;支持25人同时访问。实际上程序效率不同支持人数在线人数不同&#xff0c;公网带宽也是影响4核8G服务器并发数的一大因素&#xff0c;假设公网带宽太小&#xff0c;流量直接卡在入口&#xff0c;4核8G配置的CPU内存也会造成计算…

大数据报告检测到风险等级太高是怎么回事呢?

随着金融风控越来越多元化&#xff0c;大数据作为新兴的技术被运用到贷前风控中去了&#xff0c;不少人也了解过自己的大数据&#xff0c;但是由于相关知识不足&#xff0c;看不懂报告&#xff0c;在常见的问题中&#xff0c;大数据检测到风险等级太高是怎么回事呢?小易大数据…

《javascript高级程序设计》学习笔记 | 21.2.错误处理

关注[前端小讴]&#xff0c;阅读更多原创技术文章 错误处理 相关代码 → try/catch 语句 ES3 新增了try/catch语句&#xff0c;基本语法与 Java 中的 try/catch 一样 try {// 可能出错的代码const a 3;a 4; } catch (error) {// 出错时执行的代码console.log("An er…

vsomeip源码剖析--00环境搭建

环境 Win11 WSL2 Ubuntu22.04安装依赖 sudo apt-get install cmake sudo apt-get install libboost-system1.71-dev libboost-thread1.71-dev libboost-log1.71-dev源码编译 获取源码 https://github.com/COVESA/vsomeip.git编译 cd vsomeip mkdir build cd build// 一般…

漫漫数学之旅035

文章目录 经典格言数学习题古今评注名人小传 - 黎勒•笛卡尔 经典格言 完美的数和完美的人是同样罕见的。——黎勒•笛卡尔&#xff08;Ren Descrates&#xff09; 完美的数和完美的人都是极为罕见的。这句话表达了一个哲学观点&#xff0c;即无论是在数学领域还是人类自身&am…

Spring框架相关问题

RabbitMQ相关问题 Spring框架相关问题 一、Spring容器中的Bean是线程安全的吗&#xff1f;二、如何保证Spring容器中的Bean是线程安全的呢&#xff1f;三、什么情况下会触发Spring事务回滚&#xff1f;四、如果事务方法抛出IOException&#xff0c;是否会触发Spring事务回滚&a…

Zookeeper学习2:原理、常用脚本、选举机制、监听器

文章目录 原理选举机制&#xff08;重点&#xff09;情况1&#xff1a;正常启动集群情况2&#xff1a;集群启动完&#xff0c;中途有机器挂了 监听器客户端向服务端写入数据客户端向服务端Leader节点写入客户端向服务端Follower节点写入 Paxos算法&#xff08;每个节点都可以提…

AMDGPU KFD Test 编译使用

ROCT-Thunk-Interface是一个用于在ROCm软件堆栈中提供设备无关性的层。它是ROCm的一部分,允许不同的硬件平台(如AMD GPU和Intel CPU)使用相同的API进行计算。 要安装ROCT-Thunk-Interface,首先需要创建一个新的目录,并进入该目录: mkdir rocm-build cd rocm-build然后,…

ng : 无法将ng项识别为 cmdlet、函数、脚本文件或可运行程序的名称

ng : 无法将“ng”项识别为 cmdlet、函数、脚本文件或可运行程序的名称”&#xff0c;出现这种错误&#xff0c;那说明你angular-cli没有下载所以环境变量里没有相应的东西 1、需要在cmd里输入npm install -g angular/cli 2、之后运行angular命令时还可能出现这种错误 “ng : …

ruoyi 图片等文件资源读取

老是忘&#xff0c;记录一下 ResourcesConfig 文件下 /** 本地文件上传路径 */ registry.addResourceHandler(Constants.RESOURCE_PREFIX "/**").addResourceLocations("file:" RuoYiConfig.getProfile() "/"); /*** 资源映射路径 前缀*/ …

kafka消费者重平衡是什么?怎么避免?

消费者重平衡是指主题下的分区怎么分配给消费者的过程。下面这个图可以看出该过程&#xff1a;原来有2个消费者&#xff0c;3个分区&#xff0c;其中一个消费者肯定就的处理2个分区了。那么当新加入消费者时&#xff0c;则每个消费者就只处理一个分区了。处理这个分区过程的叫协…

详解Nacos注册中心的使用

文章目录 1、安装2、服务注册2.1、引入依赖2.2、配置nacos地址2.3、重启 3、服务分级存储模型3.1、给user-service配置集群3.2、同集群优先的负载均衡 4、权重配置5、环境隔离5.1、创建namespace5.2、配置namespace 6、Nacos与Eureka的区别7、代码免费分享 ​&#x1f343;作者…

首例以“冠状病毒”为主题的勒索病毒,篡改系统MBR

前言概述 2020年勒索病毒攻击仍然是网络安全的最大威胁&#xff0c;在短短三个月的时间里&#xff0c;已经出现了多款新型的勒索病毒&#xff0c;关于2020年勒索病毒攻击新趋势&#xff0c;可以阅读笔者写的上一篇文章&#xff0c;里面有详细的分析&#xff0c;从目前观察到的…