文章目录
-
- 一、容器命令
-
- [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
- 导入 tarball 创建镜像:
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.0
:docker 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
来获取更详细的信息。