一、Docker 核心概念简述

在深入命令前,先了解三个基本概念:

  • 镜像(Image):只读模板,包含运行应用程序所需的所有内容(代码、依赖、环境等)。
  • 容器(Container):镜像的运行实例,可以启动、停止、删除。
  • 仓库(Registry):存储和分发镜像的服务,如 Docker Hub、阿里云镜像仓库。

二、Docker 常用命令速查表(建议收藏)

类别命令说明
镜像管理docker pull 镜像名拉取镜像
docker images查看本地镜像
docker rmi 镜像名/ID删除镜像
docker build -t 名称:标签 .构建镜像
容器管理docker run [选项] 镜像运行容器(核心命令)
docker ps查看运行中的容器
docker ps -a查看所有容器(含已停止)
docker stop/start/restart 容器停止/启动/重启容器
docker rm 容器删除容器
docker exec -it 容器 命令进入或执行容器内命令
查看调试docker logs 容器查看日志
docker stats实时查看资源使用
docker inspect 容器查看详细信息(JSON)
docker top 容器查看容器内进程
系统管理docker system df查看磁盘使用
docker system prune清理无用资源
网络数据docker network ls查看网络
docker volume ls查看数据卷

三、镜像管理命令

1. docker pull 镜像名[:标签]

作用:从远程仓库拉取镜像到本地。

docker pull nginx:latest
docker pull ubuntu:22.04

提示::latest 是默认标签,表示最新版本。

2. docker images

作用:列出本地所有镜像。

docker images

常用选项:

  • docker images -q:只显示镜像 ID(用于脚本)
  • docker images --filter "dangling=true":显示未被使用的中间层镜像

3. docker rmi 镜像名/ID

作用:删除本地镜像。

docker rmi nginx
docker rmi 605c77e18f8c

注意:正在被容器使用的镜像无法删除,需先删除容器。

4. docker build -t 镜像名:标签 .

作用:根据 Dockerfile 构建自定义镜像。

docker build -t myapp:v1.0 .
  • -t:指定镜像名称和标签
  • .:构建上下文路径(当前目录)

四、容器管理命令

1. docker run [选项] 镜像名 [命令]

作用:创建并启动一个新容器。

常用选项:
选项说明
-d后台运行(detached)
-it交互式终端模式
--rm容器退出后自动删除
--name 名称指定容器名称
-p 主机端口:容器端口端口映射
-v 主机路径:容器路径挂载数据卷
--memory="512m"限制内存
--cpus="1.0"限制 CPU
示例:
docker run -d --name web -p 80:80 nginx                                                    # 后台运行 Nginx,映射 80 端口
docker run -it ubuntu:22.04 /bin/bash                                                      # 交互式运行 Ubuntu,进入 shell
docker run -it --rm alpine sh -c "apk add stress-ng && stress-ng --cpu 4 --timeout 60s"    # 临时运行压力测试,60 秒后自动删除

2. docker ps

作用:查看正在运行的容器。

docker ps

常用选项:

  • docker ps -a:查看所有容器(包括已停止的)
  • docker ps -q:只显示容器 ID
  • docker ps -l:显示最新创建的容器

3. docker stop/start/restart 容器名/ID

作用:停止、启动、重启容器。

docker stop web
docker start web
docker restart web

4. docker rm 容器名/ID

作用:删除已停止的容器。

docker rm web

批量删除所有已停止容器:

docker rm $(docker ps -aq)

5. docker exec [选项] 容器名 命令

作用:在运行中的容器内执行命令。

docker exec -it web /bin/bash                 # 进入容器的 shell
docker exec web cat /etc/nginx/nginx.conf     # 查看容器内某个文件

五、查看与调试命令

1. docker logs 容器名

作用:查看容器的日志输出。

docker logs web
docker logs -f web             # 实时查看(类似 tail -f)
docker logs --tail 100 web     # 只看最后 100 行

2. docker stats

作用:实时查看容器的资源使用情况(CPU、内存、网络、磁盘)。

docker stats
docker stats web     # 只看指定容器

3. docker inspect 容器名/镜像名

作用:查看容器或镜像的详细信息(JSON 格式)。

docker inspect web

可用于查看 IP 地址、挂载点、环境变量等。

4. docker top 容器名

作用:查看容器内运行的进程。

docker top web

六、系统与资源管理

1. docker system df

作用:查看 Docker 磁盘使用情况。

docker system df

2. docker system prune

作用:清理未使用的资源。

docker system prune               # 删除停止的容器、未使用的网络、dangling 镜像
docker system prune -a            # 删除所有未使用的镜像
docker system prune --volumes     # 同时删除未使用的数据卷

慎用 -a,会删除所有未被容器引用的镜像。

七、网络与数据卷

1. docker network ls

作用:列出所有网络。

docker network ls

2. docker volume ls

作用:列出所有数据卷。

docker volume ls

3. 创建自定义网络(推荐用于多容器通信)

docker network create app-network
docker run -d --network app-network --name db mysql
docker run -d --network app-network --name web nginx

八、实用技巧与最佳实践

命名容器

使用 --name 为容器命名,便于管理:

docker run -d --name mysql-db mysql

自动清理临时容器

使用 --rm 避免残留:

docker run --rm -it alpine sh

查看帮助

所有命令都支持 --help:

docker run --help
docker exec --help

本文系统整理了 Docker 的常用命令,通过“速查表 + 详细说明”的方式,帮助你快速查找并掌握镜像管理、容器操作、日志查看、资源清理等核心命令,适合日常开发、运维使用和新手学习。学完就能上手,轻松玩转 Docker!

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐