【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 来获取更详细的信息。

相关推荐
ulias2122 小时前
Linux系统中的权限问题
linux·运维·服务器
青花瓷3 小时前
Ubuntu下OpenClaw的安装(豆包火山API版)
运维·服务器·ubuntu
问简3 小时前
docker 镜像相关
运维·docker·容器
Dream of maid4 小时前
Linux(下)
linux·运维·服务器
齐鲁大虾4 小时前
统信系统UOS常用命令集
linux·运维·服务器
Benszen4 小时前
Docker容器化技术实战指南
运维·docker·容器
ZzzZZzzzZZZzzzz…4 小时前
Nginx 平滑升级:从 1.26.3 到 1.28.0,用户无感知
linux·运维·nginx·平滑升级·nginx1.26.3·nginx1.28.0
Hommy885 小时前
【开源剪映小助手】Docker 部署
docker·容器·开源·github·aigc
一叶知秋yyds6 小时前
Ubuntu 虚拟机安装 OpenClaw 完整流程
linux·运维·ubuntu·openclaw
斯普信云原生组6 小时前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器