Docker 是一个开源的应用容器引擎,让开发者可以打包应用及其依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上。本文整理了 Docker 常用命令的中英文对照、使用示例、常用参数详解及通俗解释,方便初学者快速上手。

一、常用命令(Common Commands)

1. docker run - 创建并运行容器

  • 英文:Create and run a new container from an image
  • 中文:从镜像创建并启动一个新容器
  • 常用参数
    • -i, --interactive:保持标准输入打开(交互模式)
    • -t, --tty:分配一个伪终端
    • -d, --detach:后台运行容器
    • --name:为容器指定名称
    • -p, --publish:端口映射(主机端口:容器端口)
    • -v, --volume:挂载数据卷(主机目录:容器目录)
    • -e, --env:设置环境变量
    • --rm:容器退出后自动删除
  • 示例docker run -it --name my-ubuntu ubuntu:20.04 /bin/bash
  • 白话解释:就像“开机启动一台新电脑”,基于某个系统镜像(如 Ubuntu)运行一个容器,并进入交互界面。

2. docker exec - 在运行中容器执行命令

  • 英文:Execute a command in a running container
  • 中文:在正在运行的容器中执行命令
  • 常用参数
    • -i, --interactive:保持标准输入打开
    • -t, --tty:分配伪终端
    • -d, --detach:后台执行命令
    • -u, --user:指定执行用户
  • 示例docker exec -it my-container bash
  • 白话解释:容器已经在后台运行,你想“远程登录”进去操作,就用这个命令。

3. docker ps - 列出容器

  • 英文:List containers
  • 中文:显示容器列表
  • 常用参数
    • -a, --all:显示所有容器(包括已停止的)
    • -q, --quiet:只显示容器 ID
    • -f, --filter:按条件过滤
    • --no-trunc:不截断输出
  • 示例docker ps -a(查看所有容器)
  • 白话解释:相当于“任务管理器”,查看当前有哪些容器在运行。

4. docker build - 构建镜像

  • 英文:Build an image from a Dockerfile
  • 中文:根据 Dockerfile 构建镜像
  • 常用参数
    • -t, --tag:为镜像设置标签(名称:版本)
    • -f, --file:指定 Dockerfile 路径
    • --no-cache:构建时不使用缓存
    • --pull:总是尝试拉取新版本基础镜像
  • 示例docker build -t my-app:1.0 .
  • 白话解释:用“菜谱”(Dockerfile)把代码和环境打包成一个“安装包”(镜像)。

5. docker pull - 下载镜像

  • 英文:Download an image from a registry
  • 中文:从镜像仓库下载镜像
  • 常用参数
    • -a, --all-tags:下载镜像的所有标签版本
    • --platform:指定平台(如 linux/amd64)
  • 示例docker pull nginx:latest
  • 白话解释:从“应用商店”(Docker Hub)下载软件镜像。

6. docker push - 上传镜像

  • 英文:Upload an image to a registry
  • 中文:上传镜像到仓库
  • 常用参数
    • --disable-content-trust:跳过镜像签名验证
  • 示例docker push my-username/my-image:latest
  • 白话解释:把自己的镜像上传到仓库,方便别人下载使用。

7. docker images - 列出镜像

  • 英文:List images
  • 中文:显示本地镜像列表
  • 常用参数
    • -a, --all:显示所有镜像(包括中间层)
    • -q, --quiet:只显示镜像 ID
    • --digests:显示镜像摘要信息
    • --no-trunc:不截断输出
  • 示例docker images
  • 白话解释:查看本地已经下载了哪些镜像。

8. docker login - 登录仓库

  • 英文:Log in to a registry
  • 中文:登录到镜像仓库
  • 常用参数
    • -u, --username:指定用户名
    • -p, --password:指定密码
    • --password-stdin:从标准输入读取密码
  • 示例docker login -u my-username
  • 白话解释:登录你的账号,才能上传私有镜像。

9. docker logout - 退出仓库

  • 英文:Log out from a registry
  • 中文:从镜像仓库登出
  • 示例docker logout
  • 白话解释:退出当前登录的账号。

10. docker search - 搜索镜像

  • 英文:Search Docker Hub for images
  • 中文:在 Docker Hub 搜索镜像
  • 常用参数
    • -f, --filter:按条件过滤(如 stars=100)
    • --limit:限制返回结果数量
    • --no-trunc:不截断描述信息
  • 示例docker search --filter=stars=1000 nginx
  • 白话解释:在“应用商店”里搜索想要的软件。

11. docker version - 显示版本

  • 英文:Show the Docker version information
  • 中文:显示 Docker 版本信息
  • 常用参数
    • -f, --format:指定输出格式
  • 示例docker version
  • 白话解释:查看当前安装的 Docker 是哪个版本。

12. docker info - 系统信息

  • 英文:Display system-wide information
  • 中文:显示系统全局信息
  • 示例docker info
  • 白话解释:查看 Docker 的运行状态、存储驱动等详细信息。

二、管理命令(Management Commands)

1. docker container - 容器管理

  • 英文:Manage containers
  • 中文:管理容器(启动、停止、删除等)
  • 常用子命令
    • ls:列出容器(同 docker ps
    • start:启动容器
    • stop:停止容器
    • rm:删除容器
    • prune:删除所有已停止容器
  • 示例docker container ls -a

2. docker image - 镜像管理

  • 英文:Manage images
  • 中文:管理镜像(删除、标记等)
  • 常用子命令
    • ls:列出镜像(同 docker images
    • rm:删除镜像
    • prune:删除未使用的镜像
    • history:查看镜像构建历史
  • 示例docker image rm my-image

3. docker network - 网络管理

  • 英文:Manage networks
  • 中文:管理网络(创建、连接等)
  • 常用子命令
    • create:创建网络
    • ls:列出网络
    • connect:连接容器到网络
    • disconnect:从网络断开容器
  • 示例docker network create my-net

4. docker volume - 数据卷管理

  • 英文:Manage volumes
  • 中文:管理数据卷(持久化存储)
  • 常用子命令
    • create:创建数据卷
    • ls:列出数据卷
    • rm:删除数据卷
    • prune:删除未使用的数据卷
  • 示例docker volume create my-vol

5. docker system - 系统管理

  • 英文:Manage Docker
  • 中文:管理 Docker 系统(清理、查看磁盘使用等)
  • 常用子命令
    • df:查看磁盘使用情况
    • prune:清理未使用的数据(镜像、容器、网络等)
  • 示例docker system df

三、其他常用命令

1. docker commit - 保存容器为镜像

  • 英文:Create a new image from a container’s changes
  • 中文:将容器的修改保存为新镜像
  • 常用参数
    • -m, --message:提交信息
    • -a, --author:指定作者
  • 示例docker commit -m "安装nginx" my-container my-new-image
  • 白话解释:你对容器做了修改(如安装了软件),想保存成新镜像,就用这个命令。

2. docker cp - 复制文件

  • 英文:Copy files/folders between a container and the local filesystem
  • 中文:在容器和本地文件系统间复制文件
  • 示例docker cp my-container:/app/log.txt ./log.txt
  • 白话解释:从容器复制文件到本地,或从本地复制到容器。

3. docker logs - 查看日志

  • 英文:Fetch the logs of a container
  • 中文:获取容器的日志
  • 常用参数
    • -f, --follow:实时跟踪日志输出
    • --tail:显示最后几行(默认所有)
    • -t, --timestamps:显示时间戳
  • 示例docker logs -f my-container
  • 白话解释:实时查看容器输出的日志(类似 tail -f)。

4. docker stop - 停止容器

  • 英文:Stop one or more running containers
  • 中文:停止运行中的容器
  • 常用参数
    • -t, --time:设置等待停止的超时时间(秒)
  • 示例docker stop my-container

5. docker rm - 删除容器

  • 英文:Remove one or more containers
  • 中文:删除一个或多个容器
  • 常用参数
    • -f, --force:强制删除运行中的容器
    • -v, --volumes:同时删除关联的数据卷
  • 示例docker rm -f my-container

6. docker rmi - 删除镜像

  • 英文:Remove one or more images
  • 中文:删除一个或多个镜像
  • 常用参数
    • -f, --force:强制删除
  • 示例docker rmi my-image

四、全局选项(Global Options)

  • --config string:指定客户端配置文件路径(默认 “/root/.docker”)
  • -c, --context string:指定连接上下文
  • -D, --debug:开启调试模式
  • -H, --host list:指定连接守护进程的 socket
  • -l, --log-level string:设置日志级别(“debug”, “info”, “warn”, “error”, “fatal”)
  • --tls:使用 TLS 加密
  • -v, --version:显示版本信息

五、总结

Docker 命令虽然繁多,但核心操作围绕镜像(Image)容器(Container)、**网络(Network)数据卷(Volume)**四大对象。掌握常用命令和参数后,配合 --help 参数(如 docker run --help)可快速查阅详细用法。

建议初学者先从 docker rundocker psdocker images 等基础命令练起,逐步熟悉容器化开发流程。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐