菜鸟科技网

Docker命令参数有哪些?如何快速掌握?

Docker 命令结构概览

所有 Docker 命令都遵循一个基本结构:

Docker命令参数有哪些?如何快速掌握?-图1
(图片来源网络,侵删)
docker [选项] [子命令] [参数] [选项]
  • 选项: 作用于 docker 主命令,如 -H 指定 Docker 守护进程的地址。
  • 子命令: 执行的具体操作,如 run, ps, images
  • 参数: 作用于子命令,如 -d (后台运行), -p (端口映射)。

镜像 命令

镜像是一个只读的模板,用于创建容器。

命令 常用参数 说明
docker images -a (all), -q (quiet, 只显示ID) 列出本地所有镜像。
docker pull <镜像名>:<标签> 从仓库拉取一个镜像。docker pull nginx:latest
docker push <镜像名>:<标签> 将本地的镜像推送到仓库。
docker search <关键词> 在 Docker Hub 上搜索官方镜像。
docker rmi -f (force), <镜像名><镜像ID> 删除一个或多个本地镜像。docker rmi nginx:latest
docker build -t <镜像名>:<标签>, -f <Dockerfile路径>, 根据 Dockerfile 构建镜像。 表示在当前目录下寻找 Dockerfile
docker save -o <文件名>.tar <镜像名>:<标签> 将镜像保存为归档文件。
docker load -i <文件名>.tar 从归档文件中加载镜像。
docker history <镜像名> 查看镜像的历史构建层。

容器 命令

容器是镜像的运行实例。

容器生命周期管理

命令 常用参数 说明
docker run (极其重要,参数最多) 创建并启动一个新的容器。
docker start <容器ID或名> 启动一个已停止的容器。
docker stop <容器ID或名> 停止一个正在运行的容器。
docker restart <容器ID或名> 重启一个容器。
docker kill <容器ID或名> 强制停止一个容器。
docker rm -f (force), <容器ID或名> 删除一个或多个已停止的容器。
docker pause <容器ID或名> 暂停容器内所有进程。
docker unpause <容器ID或名> 恢复容器内所有进程。

docker run 的核心参数详解

这是最常用的命令,参数组合非常灵活。

参数类别 参数 说明
模式 -d 后台运行容器,并返回容器 ID。
名称 --name <自定义名称> 为容器指定一个名称,方便管理。
端口映射 -p <主机端口>:<容器端口> 将主机的端口映射到容器的端口。-p 8080:80
网络 --network <网络名> 将容器连接到指定的网络。
环境变量 -e <KEY>=<VALUE> 设置环境变量。-e MYSQL_ROOT_PASSWORD=123456
数据卷 -v <主机路径>:<容器路径> 将主机的目录或文件挂载到容器中,实现数据持久化。-v /data/mysql:/var/lib/mysql
资源限制 --memory <大小> 限制容器使用的内存。--memory 512m
--cpus <数量> 限制容器使用的 CPU 核心数。--cpus 1.5
容器交互 -i 保持标准输入打开,通常与 -t 一起使用。
-t 为容器分配一个伪终端(pseudo-TTY),通常与 -i 一起使用。
--rm 容器停止后自动删除,适合用于测试。
重新启动策略 --restart=always 容器退出时总是自动重启,常用于服务类容器。

容器操作与查看

命令 常用参数 说明
docker ps -a (all), -l (latest), -q (quiet) 列出正在运行的容器。-a 会列出所有容器(包括已停止的)。
docker logs -f (follow, 实时跟踪), --tail <行数> 查看容器的标准输出。docker logs -f my-app
docker exec -i -t, <命令> 正在运行的容器中执行命令。docker exec -it my-app /bin/bash
docker inspect <容器ID或名> 获取容器的底层详细信息,如 IP 地址、网络配置等。
docker cp <容器路径> <主机路径> 在主机和容器之间复制文件/目录。
docker top <容器ID或名> 查看容器内运行的进程。
docker stats 显示实时的容器资源使用情况(CPU、内存、网络等)。

网络 命令

Docker 容器之间通过网络进行通信。

Docker命令参数有哪些?如何快速掌握?-图2
(图片来源网络,侵删)
命令 常用参数 说明
docker network create --driver <驱动名>, --subnet <子网> 创建一个自定义网络。docker network create my-net
docker network ls 列出所有网络。
docker network inspect <网络名> 查看网络的详细信息。
docker network connect <网络名> <容器名> 将一个已存在的容器连接到指定网络。
docker network disconnect <网络名> <容器名> 断开容器与网络的连接。
docker network rm <网络名> 删除一个网络。

数据卷 命令

数据卷用于在容器和主机之间持久化和共享数据。

命令 常用参数 说明
docker volume create <卷名> 创建一个数据卷。
docker volume ls 列出所有数据卷。
docker volume inspect <卷名> 查看数据卷的详细信息。
docker volume rm <卷名> 删除一个数据卷。
docker volume prune 清理未被使用的数据卷。

系统信息与资源管理

命令 常用参数 说明
docker info 显示 Docker 系统的总体信息,包括镜像、容器数量等。
docker version 显示 Docker 客户端和服务端的版本信息。
docker system df 显示 Docker 使用的磁盘空间(镜像、容器、本地卷等)。
docker system prune (危险操作) 清理所有未被使用的数据:已停止的容器、未被任何容器引用的网络、悬空镜像、构建缓存。
docker system prune -a (极度危险)prune 的基础上,删除所有未被任何容器使用的镜像(不仅仅是悬空镜像)。

镜像仓库

命令 常用参数 说明
docker login 登录到 Docker 镜像仓库。
docker logout 登出 Docker 镜像仓库。
docker tag <源镜像>:<标签> <目标镜像>:<标签> 为本地镜像创建一个新的标签,通常用于推送前重命名。docker tag my-app:latest my-registry.com/my-app:latest

总结与建议

  1. docker run 开始: docker run 是最核心的命令,务必熟练掌握其常用参数,特别是 -d, -p, -v, --name, -e
  2. 善用 docker psdocker logs: 这是排查问题最常用的两个命令,一个看容器状态,一个看日志输出。
  3. 理解 docker exec: 它让你能够进入一个正在运行的容器内部进行调试和操作。
  4. docker system dfprune: 随着使用时间增长,Docker 会占用大量磁盘空间,定期清理是必要的习惯。
  5. 查阅官方文档: Docker 更新很快,遇到不熟悉的命令或参数,最权威的来源永远是 Docker 官方文档,使用 docker <command> --help 也可以查看该命令的帮助信息。
Docker命令参数有哪些?如何快速掌握?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇