利用AI工具整理Docker中常用命令以及相关的参数,比较详细。
如果需要进一步查看省略的细节和使用方法,请自行查询。
官方文档
常用命令
1. 容器管理
命令 | 描述 |
---|---|
docker run | 创建并运行容器 |
docker ps | 列出容器 |
docker stop | 停止容器 |
docker start | 启动容器 |
docker restart | 重启容器 |
docker rm | 删除容器 |
docker exec | 在容器中执行命令 |
2. 镜像管理
命令 | 描述 |
---|---|
docker images | 列出镜像 |
docker pull | 拉取镜像 |
docker push | 推送镜像 |
docker rmi | 删除镜像 |
3. Docker Compose
命令 | 描述 |
---|---|
docker-compose up | 启动服务 |
docker-compose down | 停止服务 |
4. 网络和数据卷
命令 | 描述 |
---|---|
docker network ls | 列出网络 |
docker volume ls | 列出数据卷 |
5. docker Swarm(集群)
命令 | 描述 |
---|---|
docker swarm init | 初始化 Swarm 集群 |
docker node ls | 列出 Swarm 节点 |
常用参数
1. docker run
参数 | 描述 | 示例 |
---|---|---|
-d | 后台运行容器 | docker run -d nginx |
-it | 交互式操作 | docker run -it ubuntu bash |
--name | 为容器指定名称 | docker run --name my_container nginx |
--rm | 容器停止后自动删除 | docker run --rm nginx |
-p | 端口映射 | docker run -p 80:80 nginx |
-v | 挂载卷 | docker run -v /host:/container nginx |
--network | 指定网络模式 | docker run --network host nginx |
--env 或-e | 设置环境变量 | docker run --env KEY=VALUE nginx |
--restart | 容器退出时重新启动策略 | docker run --restart=always nginx |
--privileged | 特权模式 | docker run --privileged nginx |
--user | 指定用户 | docker run --user 1000 nginx |
--link | 链接到另一个容器 | docker run --link my_mysql_container:mysql nginx |
--cpu-shares | CPU 资源限制 | docker run --cpu-shares=512 nginx |
--memory | 内存限制 | docker run --memory=1g nginx |
--entrypoint | 覆盖默认入口点 | docker run --entrypoint=/bin/bash nginx |
2. docker ps
参数 | 描述 | 示例 |
---|---|---|
-a 或 --all | 显示所有容器(包括停止的) | docker ps -a |
-q 或 --quiet | 仅显示容器 ID | docker ps -q |
--filter | 根据条件过滤显示容器 | docker ps --filter "status=running" |
--format | 指定输出格式 | docker ps --format "{{.ID}}\t{{.Image}}\t{{.Status}}" |
-n 或 --last | 仅显示最后创建的几个容器 | docker ps -n 5 |
--no-trunc | 不截断输出 | docker ps --no-trunc |
-s 或 --size | 显示每个容器的磁盘使用情况 | docker ps -s |
3. docker stop
参数 | 描述 | 示例 |
---|---|---|
-t 或 --time | 指定等待容器停止的时间(以秒为单位) | docker stop -t 30 container_name |
--time=0 | 无限等待容器停止(默认值) | docker stop --time=0 container_name |
--time=-1 | 立即停止容器,不等待 | docker stop --time=-1 container_name |
4. docker start
参数 | 描述 | 示例 |
---|---|---|
--attach 或 -a | 将标准输入、输出和错误流连接到正在运行的容器 | docker start -a container_name |
--interactive 或 -i | 在容器启动后进入交互模式 | docker start -i container_name |
--detach 或 -d | 在后台模式下启动容器 | docker start -d container_name |
--interactive --attach | 启动并进入容器的交互式模式 | docker start -i -a container_name |
5. docker restart
参数 | 描述 | 示例 |
---|---|---|
--time 或 -t | 重启前停留在给定的秒数后再停止容器 | docker restart -t=10 container_name |
--ignore-sigterm | 不向容器发送 SIGTERM 信号 | docker restart --ignore-sigterm container_name |
--attach 或 -a | 将标准输入、输出和错误流连接到正在运行的容器 | docker restart -a container_name |
6. docker rm
参数 | 描述 | 示例 |
---|---|---|
--force 或 -f | 强制删除运行中的容器 | docker rm -f container_name |
--volumes 或 -v | 删除容器相关的挂载卷 | docker rm -v container_name |
--link | 删除指定的连接 | docker rm --link container_name |
7. docker exec
参数 | 描述 | 示例 |
---|---|---|
--detach 或 -d | 在容器内部执行命令,但不附加到其 stdin | docker exec -d container_name command |
--interactive 或 -i | 保持标准输入打开,允许交互式操作 | docker exec -i container_name command |
--tty 或 -t | 分配一个伪终端 | docker exec -t container_name command |
--user | 指定要执行命令的用户名或 UID | docker exec --user username container_name command |
8. docker images
参数 | 描述 | 示例 |
---|---|---|
--all 或 -a | 显示所有镜像,包括中间层镜像 | docker images -a |
--quiet 或 -q | 仅显示镜像 ID | docker images -q |
--digests | 显示镜像的摘要信息 | docker images --digests |
--format | 格式化输出的模板 | docker images --format "{{.Repository}}:{{.Tag}}" |
9. docker pull
参数 | 描述 | 示例 |
---|---|---|
image_name[:tag] | 拉取指定的镜像及其标签 | docker pull ubuntu:latest |
--all-tags | 拉取镜像的所有标签 | docker pull --all-tags nginx |
--quiet 或 -q | 静默模式,只显示镜像 ID | docker pull -q ubuntu |
--disable-content-trust | 禁用内容信任验证 | docker pull --disable-content-trust nginx |
10. docker push
参数 | 描述 | 示例 |
---|---|---|
image_name[:tag] | 推送指定的镜像及其标签 | docker push myregistry/myimage:v1.0 |
--all-tags | 推送镜像的所有标签 | docker push --all-tags myregistry/myimage |
--quiet 或 -q | 静默模式,只显示镜像 ID | docker push -q myregistry/myimage |
--disable-content-trust | 禁用内容信任验证 | docker push --disable-content-trust myregistry/myimage |
11. docker rmi
参数 | 描述 | 示例 |
---|---|---|
image_name[:tag] | 删除指定的镜像及其标签 | docker rmi myimage:v1.0 |
--force 或 -f | 强制删除镜像,即使有相关的容器在运行 | docker rmi -f myimage |
--no-prune | 不移除未被标记的父镜像 | docker rmi --no-prune myimage |
--quiet 或 -q | 静默模式,只显示镜像 ID | docker rmi -q myimage |
12. docker-compose up
参数 | 描述 | 示例 |
---|---|---|
-d | 在后台运行容器 | docker-compose up -d |
--build | 强制重新构建服务的镜像 | docker-compose up --build |
--force-recreate | 强制重新创建容器 | docker-compose up --force-recreate |
--no-deps | 只启动指定的服务,而不启动依赖的服务 | docker-compose up --no-deps service_name |
--remove-orphans | 移除无关的容器 | docker-compose up --remove-orphans |
13. docker-compose down
参数 | 描述 | 示例 |
---|---|---|
-v | 移除关联的数据卷 | docker-compose down -v |
--rmi type | 移除镜像(‘all’: 移除所有镜像,‘local’: 仅移除本地镜像) | docker-compose down --rmi all |
--remove-orphans | 移除无关的容器 | docker-compose down --remove-orphans |
--timeout seconds | 设置停止超时时间 | docker-compose down --timeout 60 |
14. docker network
命令详解
命令 | 描述 | 示例 |
---|---|---|
docker network ls | 列出所有的 Docker 网络 | docker network ls |
docker network create | 创建一个新的 Docker 网络 | docker network create my-network (…许多网络配置) |
docker network inspect | 显示一个或多个网络的详细信息 | docker network inspect my-network |
docker network connect | 将一个容器连接到指定网络 | docker network connect my-network my-container |
docker network disconnect | 从一个网络中断开一个容器连接 | docker network disconnect my-network my-container |
15. docker volume
命令详解
命令 | 描述 | 示例 |
---|---|---|
docker volume ls | 列出所有的 Docker 卷 | docker volume ls |
docker volume create | 创建一个新的 Docker 卷 | docker volume create my-volume |
docker volume inspect | 显示一个或多个卷的详细信息 | docker volume inspect my-volume |
docker volume rm | 删除一个或多个卷 | docker volume rm my-volume |
docker run -v | 将卷挂载到容器中 | docker run -d -v my-volume:/path/in/container my-image |
docker-compose | 使用 Docker Compose 创建卷 | volumes: - my-volume:/path/in/container |
16. docker swarm
命令详解
命令 | 描述 | 示例 |
---|---|---|
docker swarm init | 初始化一个 Swarm | docker swarm init |
docker swarm join | 加入一个 Swarm | docker swarm join --token <token> <manager-ip>:<port> |
docker service create | 创建一个新的服务 | docker service create --name my-service my-image |
docker service ls | 列出所有的服务 | docker service ls |
docker service scale | 调整服务的规模 | docker service scale my-service=5 |
docker service update | 更新一个服务 | docker service update --image my-new-image my-service |
docker stack deploy | 使用 Stack 部署应用 | docker stack deploy -c docker-compose.yml my-app |
docker stack ls | 列出所有的 Stack | docker stack ls |
17. docker node
命令详解
命令 | 描述 | 示例 |
---|---|---|
docker node ls | 列出 Swarm 中的节点 | docker node ls |
docker node inspect | 显示节点的详细信息 | docker node inspect <node-id> |
docker node promote | 将节点提升为管理节点 | docker node promote <node-id> |
docker node demote | 将管理节点降级为工作节点 | docker node demote <node-id> |
docker node update | 更新节点配置 | docker node update --availability drain <node-id> |
docker node rm | 从 Swarm 中删除节点 | docker node rm <node-id> |
docker node ps | 列出节点上的任务 | docker node ps <node-id> |
docker node tasks | 列出节点上的任务 | docker node tasks <node-id> |