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

相关推荐
_.Switch1 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
2401_850410831 小时前
文件系统和日志管理
linux·运维·服务器
JokerSZ.1 小时前
【基于LSM的ELF文件安全模块设计】参考
运维·网络·安全
芯盾时代2 小时前
数字身份发展趋势前瞻:身份韧性与安全
运维·安全·网络安全·密码学·信息与通信
心灵彼岸-诗和远方3 小时前
DevOps业务价值流:架构设计最佳实践
运维·产品经理·devops
一只哒布刘3 小时前
NFS服务器
运维·服务器
南猿北者4 小时前
docker容器
docker·容器
苹果醋34 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
二十雨辰4 小时前
[linux]docker基础
linux·运维·docker
time never ceases5 小时前
使用docker方式进行Oracle数据库的物理迁移(helowin/oracle_11g)
数据库·docker·oracle