【docker】常用指令整理

文章目录

    • 一、容器命令
      • [1. **docker create**:创建一个新的容器但不启动它](#1. docker create:创建一个新的容器但不启动它)
      • [2. **docker run**:创建并启动一个容器](#2. docker run:创建并启动一个容器)
      • [3. **docker start**:启动一个或多个已经被停止的容器](#3. docker start:启动一个或多个已经被停止的容器)
      • [4. **docker stop**:停止一个运行中的容器](#4. docker stop:停止一个运行中的容器)
      • [5. **docker restart**:重启容器](#5. docker restart:重启容器)
      • [6. **docker rm**:删除一个或多个容器](#6. docker rm:删除一个或多个容器)
      • [7. **docker exec**:在运行的容器中执行命令](#7. docker exec:在运行的容器中执行命令)
      • [8. **docker inspect**:查看容器详细信息。](#8. docker inspect:查看容器详细信息。)
      • [9. **docker top**:显示容器内运行的进程](#9. docker top:显示容器内运行的进程)
      • [10. **docker attach**:连接到正在运行的容器](#10. docker attach:连接到正在运行的容器)
      • [11. **docker cp**:在容器和宿主机之间复制文件或目录。](#11. docker cp:在容器和宿主机之间复制文件或目录。)
      • [12. **docker diff**:检查容器文件系统的更改。](#12. docker diff:检查容器文件系统的更改。)
      • [13. **docker logs**:获取容器的日志输出。](#13. docker logs:获取容器的日志输出。)
      • [14. **docker stats**:显示容器资源使用统计的实时流。](#14. docker stats:显示容器资源使用统计的实时流。)
      • [15. **docker commit**:从容器创建一个新的镜像。](#15. docker commit:从容器创建一个新的镜像。)
      • [16. **docker export**:将容器的文件系统作为一个 tar 归档文件导出。](#16. docker export:将容器的文件系统作为一个 tar 归档文件导出。)
      • [17. **docker import**:从归档文件导入镜像](#17. docker import:从归档文件导入镜像)
      • [18. **docker port**:列出容器的端口映射或特定映射](#18. docker port:列出容器的端口映射或特定映射)
      • [19. **docker ps**:列出当前正在运行的容器](#19. docker ps:列出当前正在运行的容器)
      • [20. **docker pause**:暂停一个或多个正在运行的容器](#20. docker pause:暂停一个或多个正在运行的容器)
      • [21. **docker pause**:恢复一个或多个被暂停的容器的执行](#21. docker pause:恢复一个或多个被暂停的容器的执行)
    • 二、镜像命令
      • [1. **docker images**:列出本地所有的镜](#1. docker images:列出本地所有的镜)
      • [2. **docker pull**:从镜像仓库中拉取或者更新指定镜像](#2. docker pull:从镜像仓库中拉取或者更新指定镜像)
      • [3. **docker push**:将本地的镜像上传到镜像仓库](#3. docker push:将本地的镜像上传到镜像仓库)
      • [4. **docker rmi**:删除本地一个或多个镜像](#4. docker rmi:删除本地一个或多个镜像)
      • [5. **docker build**:使用 Dockerfile 创建镜像](#5. docker build:使用 Dockerfile 创建镜像)
      • [6. **docker tag** 镜像打标签](#6. docker tag 镜像打标签)
      • [7. **docker save** 镜像保存为文件](#7. docker save 镜像保存为文件)
      • [8. **docker load** 从文件加载镜像](#8. docker load 从文件加载镜像)
      • [9. **docker history** 查看镜像历史](#9. docker history 查看镜像历史)
    • 三、网络命令
      • [1. **docker network create**:创建一个网络](#1. docker network create:创建一个网络)
      • [2. **docker network ls**:列出所有的网络](#2. docker network ls:列出所有的网络)
      • [3. **docker network rm**:删除一个或多个网络](#3. docker network rm:删除一个或多个网络)
      • [4. **docker network inspect**:显示一个或多个网络的详细信息](#4. docker network inspect:显示一个或多个网络的详细信息)
      • [5. **docker network connect**:将容器连接到网络](#5. docker network connect:将容器连接到网络)
      • [6. **docker network disconnect**:从网络中断开容器的连接](#6. docker network disconnect:从网络中断开容器的连接)
    • 四、数据卷命令
      • [1. **docker volume create**:创建数据卷](#1. docker volume create:创建数据卷)
      • [2. **docker volume ls**:列出所有数据卷](#2. docker volume ls:列出所有数据卷)
      • [3. **docker volume rm**:删除一个或多个数据卷](#3. docker volume rm:删除一个或多个数据卷)
      • [4. **docker volume inspect**:显示一个或多个数据卷的详细信息](#4. docker volume inspect:显示一个或多个数据卷的详细信息)
    • 五、系统命令
      • [1. **docker version**:显示 Docker 版本信息](#1. docker version:显示 Docker 版本信息)
      • [2. **docker info**::显示 Docker 系统信息](#2. docker info::显示 Docker 系统信息)
      • [3. **docker login**::登陆到一个 Docker 镜像仓库](#3. docker login::登陆到一个 Docker 镜像仓库)
      • [4. **docker logout**:登出一个 Docker 镜像仓库](#4. docker logout:登出一个 Docker 镜像仓库)
      • [5. **docker search**:从 Docker Hub 查找镜像](#5. docker search:从 Docker Hub 查找镜像)

以下是一些常用的Docker指令,包括系统操作、容器管理、镜像管理、网络管理、数据卷管理等方面。

一、容器命令

1. docker create:创建一个新的容器但不启动它

  • 常用格式docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
  • 例子docker create -it ubuntu:latest

2. docker run:创建并启动一个容器

  • 常用格式docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • 选项
    • -d:后台运行容器。
    • -p:指定端口映射,例如 -p 8080:80
    • --name:为容器指定一个名称。
    • -v:挂载卷,例如 -v /host/path:/container/path
  • 例子docker run -d -p 8080:80 --name webserver nginx

3. docker start:启动一个或多个已经被停止的容器

  • 常用格式docker start [OPTIONS] CONTAINER
  • 例子docker start webserver

4. docker stop:停止一个运行中的容器

  • 常用格式docker stop [OPTIONS] CONTAINER
  • 例子docker stop webserver

5. docker restart:重启容器

  • 常用格式docker restart [OPTIONS] CONTAINER
  • 例子docker restart webserver

6. docker rm:删除一个或多个容器

  • 常用格式docker rm [OPTIONS] CONTAINER
  • 选项
    • -f:强制删除一个运行中的容器。
    • -v:删除与容器关联的卷。
  • 例子docker rm -f webserver

7. docker exec:在运行的容器中执行命令

  • 常用格式docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
  • 例子docker exec -it webserver bash

8. docker inspect:查看容器详细信息。

  • 说明:返回 Docker 对象(如容器、镜像、网络、数据卷等)的详细信息。
  • 常用格式docker inspect [OPTIONS] NAME|ID [NAME|ID...]
  • 选项
    • --format:使用 Go 模板格式化输出。
    • -f--format:指定返回值的模板文件。
    • --type:为搜索结果指定对象类型。
  • 例子
    • 查看容器的详细信息:docker inspect mycontainer
    • 使用模板格式化输出:docker inspect --format='{``{.Id}} - {``{.Path}} - {``{.Args}}' mycontainer

9. docker top:显示容器内运行的进程

  • 常用格式docker top [OPTIONS] CONTAINER
  • 选项
    • 无特定选项。
  • 例子
    • 查看容器内运行的进程:docker top mycontainer

10. docker attach:连接到正在运行的容器

  • 常用格式docker attach [OPTIONS] CONTAINER
  • 选项
    • --detach-keys:指定退出 attach 模式的按键序列。
    • --no-stdin:不将 stdin 连接到容器。
    • --sig-proxy:代理接收到的所有信号到进程(默认为 true)。
  • 例子
    • 连接到运行中的容器:docker attach mycontainer

11. docker cp:在容器和宿主机之间复制文件或目录。

  • 常用格式docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
  • 选项
    • -a--archive:归档模式(复制为 tar 文件)。
    • -L--follow-link:始终跟随符号链接。
  • 例子
    • 从容器复制文件到宿主机:docker cp mycontainer:/path/to/file /host/path/
    • 从宿主机复制文件到容器:docker cp /host/path/file mycontainer:/path/

12. docker diff:检查容器文件系统的更改。

  • 常用格式docker diff CONTAINER
  • 选项
    • 无特定选项。
  • 例子
    • 查看容器文件系统的变化:docker diff mycontainer

13. docker logs:获取容器的日志输出。

  • 常用格式docker logs [OPTIONS] CONTAINER
  • 选项
    • --details:显示额外的日志详细信息。
    • --follow:跟随日志输出。
    • --since:显示自某个时间戳之后的日志。
    • --tail:显示日志的最后几行。
    • --timestamps:显示时间戳。
  • 例子
    • 查看容器的日志:docker logs mycontainer
    • 实时查看日志:docker logs -f mycontainer

14. docker stats:显示容器资源使用统计的实时流。

  • 常用格式docker stats [OPTIONS] [CONTAINER...]
  • 选项
    • --all:显示所有容器的统计信息,不仅仅是运行中的。
    • --format:使用 Go 模板格式化输出。
    • --no-stream:仅显示一次统计信息,然后退出。
  • 例子
    • 查看容器的资源使用情况:docker stats mycontainer

15. docker commit:从容器创建一个新的镜像。

  • 常用格式docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
  • 选项
    • -a--author:设置镜像的作者。
    • -c--change:应用 Dockerfile 指令以创建镜像。
    • -m--message:设置提交消息。
    • -p--pause:在提交期间暂停容器(默认为 true)。
  • 例子
    • 提交容器为新的镜像:docker commit mycontainer myrepo/myimage:mytag

16. docker export:将容器的文件系统作为一个 tar 归档文件导出。

  • 常用格式docker export [OPTIONS] CONTAINER
  • 选项
    • -o--output:将输出写入文件,而不是标准输出。
  • 例子
    • 导出容器的文件系统:docker export -o mycontainer.tar mycontainer

17. docker import:从归档文件导入镜像

  • 说明:从一个归档文件(通常是一个 tar 文件)中导入内容并创建一个新的 Docker 镜像。
  • 常用格式docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
  • 选项
    • -c--change:应用 Dockerfile 指令以创建镜像。
    • -m--message:设置提交消息。
  • 例子
    • 导入 tarball 创建镜像:docker import mycontainer.tar myrepo/myimage:mytag

18. docker port:列出容器的端口映射或特定映射

  • 常用格式docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]
  • 选项
    • --format:使用 Go 模板格式化输出。
  • 例子
    • 查看容器的所有端口映射:docker port mycontainer
    • 查看容器的特定端口映射:docker port mycontainer 80

19. docker ps:列出当前正在运行的容器

  • 常用格式docker ps [OPTIONS]
  • 选项
    • -a:列出所有容器(包括已停止的)。
    • -q:只显示容器 ID。
  • 例子docker ps -a

20. docker pause:暂停一个或多个正在运行的容器

  • 常用格式:docker pause CONTAINER CONTAINER...
  • 例子:docker pause my-container

21. docker pause:恢复一个或多个被暂停的容器的执行

  • 常用格式:docker unpause CONTAINER CONTAINER...
  • 例子:docker unpause my-container

二、镜像命令

1. docker images:列出本地所有的镜

  • 常用格式docker images [OPTIONS] [REPOSITORY[:TAG]]
  • 例子docker images

2. docker pull:从镜像仓库中拉取或者更新指定镜像

  • 常用格式docker pull [OPTIONS] NAME[:TAG|@DIGEST]
  • 例子docker pull ubuntu:latest

3. docker push:将本地的镜像上传到镜像仓库

  • 常用格式docker push [OPTIONS] NAME[:TAG]
  • 例子docker push myusername/myimage:latest

4. docker rmi:删除本地一个或多个镜像

  • 常用格式docker rmi [OPTIONS] IMAGE [IMAGE...]
  • 例子docker rmi ubuntu:latest

5. docker build:使用 Dockerfile 创建镜像

  • 常用格式docker build [OPTIONS] PATH | URL | -
  • 选项
    • -t:指定镜像名称和标签。
    • -f:指定 Dockerfile 的路径。
  • 例子docker build -t myimage:latest .

6. docker tag 镜像打标签

  • 说明:为 Docker 镜像打标签,通常用于在推送镜像到 Docker Hub 或其他仓库之前标记镜像。
  • 常用格式docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
  • 例子
    • 将本地镜像 myimage:latest 打上标签 username/myimage:v1.0docker tag myimage:latest username/myimage:v1.0

7. docker save 镜像保存为文件

  • 说明:将 Docker 镜像保存为一个 tar 归档文件,便于传输和备份。
  • 常用格式docker save [OPTIONS] IMAGE [IMAGE...]
  • 选项
    • -o--output:指定输出文件,默认为标准输出(STDOUT)。
  • 例子
    • myimage:latest 镜像保存为 myimage.tar 文件:docker save -o myimage.tar myimage:latest

8. docker load 从文件加载镜像

  • 说明:从一个 tar 归档文件加载 Docker 镜像。
  • 常用格式docker load [OPTIONS]
  • 选项
    • -i--input:指定输入文件,默认为标准输入(STDIN)。
    • --quiet:静默模式,不显示加载的详细信息。
  • 例子
    • myimage.tar 文件加载镜像:docker load -i myimage.tar

9. docker history 查看镜像历史

  • 说明:显示 Docker 镜像的历史记录,包括每一层的创建信息和大小。
  • 常用格式docker history [OPTIONS] IMAGE
  • 选项
    • --format:使用 Go 模板格式化输出。
    • --human:以人类可读的格式显示大小和时间。
    • --no-trunc:显示完整的命令、标签等信息,不截断输出。
    • -q--quiet:仅显示镜像 ID。
  • 例子
    • 查看 myimage:latest 镜像的历史记录:docker history myimage:latest
    • 以人类可读的格式显示历史记录:docker history --human myimage:latest

三、网络命令

1. docker network create:创建一个网络

  • 常用格式docker network create [OPTIONS] NETWORK
  • 例子docker network create mynetwork

2. docker network ls:列出所有的网络

  • 常用格式docker network ls [OPTIONS]
  • 例子docker network ls

3. docker network rm:删除一个或多个网络

  • 常用格式docker network rm [OPTIONS] NETWORK
  • 例子docker network rm mynetwork

4. docker network inspect:显示一个或多个网络的详细信息

  • 常用格式docker network inspect [OPTIONS] NETWORK [NETWORK...]
  • 选项
    • --format:使用 Go 模板格式化输出。
    • -f--format:指定返回值的模板文件。
  • 例子
    • 查看单个网络的详细信息:docker network inspect mynetwork
    • 查看多个网络的详细信息:docker network inspect network1 network2
    • 使用模板格式化输出:docker network inspect --format='{``{.Name}} - {``{.Driver}}' mynetwork

5. docker network connect:将容器连接到网络

  • 常用格式docker network connect [OPTIONS] NETWORK CONTAINER
  • 选项
    • --alias:为容器在网络中设置别名。
    • --ip:为容器指定 IPv4 地址。
    • --ip6:为容器指定 IPv6 地址。
    • --link:添加链接到另一个容器。
    • --link-local-ip:为容器指定一个或多个链接本地地址。
  • 注意--link 选项是 Docker 的遗留功能,不建议在生产环境中使用。
  • 例子
    • 将容器连接到网络:docker network connect mynetwork mycontainer
    • 为容器设置别名并连接到网络:docker network connect --alias myalias mynetwork mycontainer

6. docker network disconnect:从网络中断开容器的连接

  • 常用格式docker network disconnect [OPTIONS] NETWORK CONTAINER
  • 选项
    • --force:强制断开容器的网络连接。
  • 例子
    • 从网络中断开容器的连接:docker network disconnect mynetwork mycontainer

四、数据卷命令

1. docker volume create:创建数据卷

  • 常用格式docker volume create [OPTIONS] VOLUME
  • 例子docker volume create myvolume

2. docker volume ls:列出所有数据卷

  • 常用格式docker volume ls [OPTIONS]
  • 例子docker volume ls

3. docker volume rm:删除一个或多个数据卷

  • 常用格式docker volume rm [OPTIONS] VOLUME
  • 例子docker volume rm myvolume

4. docker volume inspect:显示一个或多个数据卷的详细信息

  • 常用格式docker volume inspect [OPTIONS] VOLUME [VOLUME...]
  • 选项
    • --format:使用 Go 模板格式化输出。
    • -f--format:指定返回值的模板文件。
  • 例子
    • 查看单个数据卷的详细信息:docker volume inspect myvolume
    • 查看多个数据卷的详细信息:docker volume inspect volume1 volume2
    • 使用模板格式化输出:docker volume inspect --format='{``{.Name}} - {``{.Driver}}' myvolume

五、系统命令

1. docker version:显示 Docker 版本信息

  • 常用格式docker version [OPTIONS]
  • 例子docker version

2. docker info::显示 Docker 系统信息

  • 常用格式docker info [OPTIONS]
  • 例子docker info

3. docker login::登陆到一个 Docker 镜像仓库

  • 常用格式docker login [OPTIONS] [SERVER]
  • 例子docker login

4. docker logout:登出一个 Docker 镜像仓库

  • 常用格式docker logout [OPTIONS] [SERVER]
  • 例子docker logout

5. docker search:从 Docker Hub 查找镜像

  • 常用格式docker search [OPTIONS] TERM
  • 例子docker search nginx

以上列出的指令是Docker中常用的命令,但并不是全部。Docker的指令非常丰富,可以根据具体的需求和场景选择合适的指令。同时,每个指令都有很多选项和参数可以使用,可以通过 docker COMMAND --help 来获取更详细的信息。

相关推荐
用户0328472220707 小时前
如何搭建本地yum源(上)
运维
武子康8 小时前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工3 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Alsn863 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
酣大智3 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_3 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉3 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造