在工作中,Docker 是常用的容器化工具,以下是一些经常使用的 Docker 命令分类整理:
Docker 服务管理命令用于管理 Docker 守护进程(服务)的启动、停止、重启等操作。
- 查看版本详细信息:docker version显示 Docker 客户端和服务端的完整版本信息,包括 API 版本、操作系统架构等。
- 查看版本简要信息:docker -v仅显示 Docker 的版本号,适用于快速确认安装状态。
- 启动 Docker 服务:systemctl start docker在基于 systemd 的 Linux 系统(如 Ubuntu、CentOS)上启动 Docker 服务。
- 关闭 Docker 服务:systemctl stop docker停止 Docker 服务,释放系统资源。
- 设置开机启动:systemctl enable docker配置 Docker 服务随系统启动自动运行。
- 重启 Docker 服务:service docker restart重启 Docker 服务(适用于部分旧版系统或非 systemd 环境)。
- 关闭 Docker 服务:service docker stop停止 Docker 服务(非 systemd 环境)。
容器操作命令容器是 Docker 的核心功能,以下命令用于创建、启动、停止、删除等操作。
- 创建并启动容器:docker run [OPTIONS] IMAGE [COMMAND]常用选项:
-d:后台运行容器。
-p:端口映射(如 -p 8080:80)。
--name:指定容器名称。
-v:挂载数据卷(如 -v /host/path:/container/path)。示例:docker run -d --name mynginx -p 80:80 nginx
- 启动已停止的容器:docker start [CONTAINER ID/NAME]重新启动处于停止状态的容器。
- 查看运行中的容器:docker ps列出当前正在运行的容器,显示容器 ID、名称、镜像、状态等信息。
添加 -a 参数可查看所有容器(包括已停止的)。
添加 -q 参数仅显示容器 ID。
- 终止容器:docker stop [CONTAINER ID/NAME]发送终止信号(SIGTERM)给容器,等待容器优雅退出。
- 强制终止容器:docker kill [CONTAINER ID/NAME]立即强制终止容器(发送 SIGKILL 信号)。
- 重启容器:docker restart [CONTAINER ID/NAME]重启容器,相当于先停止再启动。
- 退出容器:
若容器以交互模式运行(如 docker run -it),输入 exit 或按 Ctrl+D 可退出并停止容器。
若需保持容器运行,按 Ctrl+P 后按 Ctrl+Q 退出但不停止容器。
- 进入容器:
docker attach [CONTAINER ID/NAME]:直接进入容器的主进程(不推荐,退出可能导致容器停止)。
docker exec -it [CONTAINER ID/NAME] /bin/bash:以交互模式进入容器(推荐使用)。
- 导出容器快照:docker export [CONTAINER ID/NAME] > filename.tar将容器的文件系统导出为 tar 归档文件。
- 导入容器快照:docker import filename.tar [REPOSITORY[:TAG]]从 tar 归档文件导入为镜像(不保留容器历史记录)。
- 删除容器:docker rm [CONTAINER ID/NAME]删除已停止的容器,添加 -f 参数可强制删除运行中的容器。
- 查看容器日志:docker logs [CONTAINER ID/NAME]显示容器的标准输出日志,常用选项:
-f:实时跟踪日志。
--tail:显示最后 N 行日志(如 --tail 100)。
镜像操作命令镜像是容器的模板,以下命令用于检索、拉取、删除等操作。
- 检索镜像:docker search [KEYWORD]在 Docker Hub 中搜索镜像,显示镜像名称、描述、评分等信息。
- 获取镜像:docker pull [IMAGE[:TAG]]从仓库拉取镜像到本地,默认拉取最新版本(latest)。示例:docker pull ubuntu:20.04
- 列出本地镜像:
docker images:显示本地所有镜像,包括仓库、标签、镜像 ID 和大小。
docker images ls:与 docker images 等效。
- 删除镜像:
docker rmi [IMAGE ID/REPOSITORY[:TAG]]:删除指定镜像。
docker images rm:同 docker rmi。
添加 -f 参数可强制删除被容器引用的镜像。
- 导出镜像:docker save -o filename.tar [IMAGE[:TAG]]将镜像保存为 tar 归档文件,保留完整镜像层和元数据。
- 导入镜像:docker load -i filename.tar从 tar 归档文件导入镜像(保留镜像历史记录)。
Dockerfile 相关命令Dockerfile 是构建镜像的脚本文件,以下命令用于构建和运行镜像。
- 构建镜像:docker build -t [REPOSITORY[:TAG]] [CONTEXT_PATH]根据 Dockerfile 构建镜像,常用选项:
-t:指定镜像名称和标签。
-f:指定 Dockerfile 路径(默认使用 CONTEXT_PATH/Dockerfile)。示例:docker build -t myapp:1.0 .
- 运行镜像:docker run [OPTIONS] IMAGE [COMMAND]与容器启动命令相同,用于从镜像创建并运行容器。
- Dockerfile 常用指令:
COPY:将本地文件复制到容器内。
ADD:类似 COPY,但支持自动解压和远程 URL。
CMD:指定容器启动时默认执行的命令(可被 docker run 覆盖)。
ENV:设置环境变量。
EXPOSE:声明容器运行时监听的端口(仅作为文档说明,实际需配合 -p 使用)。
以上命令覆盖了 Docker 日常使用中的核心场景,熟练掌握可显著提升开发效率。