№ 17·Docker / DOCKER
Docker 命令速查
按容器、镜像、卷、网络、Compose、构建和清理分类整理 Docker 常用命令,适合作为日常操作速查表。
占位符说明
| 占位符 | 含义 |
|---|---|
<image> | 镜像名,例如 nginx:latest |
<container> | 容器名或容器 ID |
<volume> | 数据卷名 |
<network> | 网络名 |
<service> | Compose 服务名或 Swarm 服务名 |
<tag> | 镜像标签,例如 myapp:v1 |
基础命令
| 命令 | 说明 |
|---|---|
docker --version | 查看 Docker CLI 版本 |
docker version | 查看客户端和服务端版本 |
docker info | 查看 Docker 系统信息 |
docker help | 查看 Docker 帮助 |
docker <command> --help | 查看子命令帮助 |
docker login | 登录镜像仓库 |
docker logout | 退出镜像仓库 |
docker search <keyword> | 搜索 Docker Hub 镜像 |
docker inspect <object> | 查看 Docker 对象详情 |
容器命令
| 命令 | 说明 |
|---|---|
docker ps | 查看运行中的容器 |
docker ps -a | 查看所有容器状态 |
docker run <image> | 创建并启动容器 |
docker run --name <container> <image> | 指定名称启动容器 |
docker run -d <image> | 后台启动容器 |
docker run -it <image> sh | 交互式进入新容器 |
docker run --rm <image> | 容器退出后自动删除 |
docker run -p 8080:80 <image> | 映射端口 |
docker run -e KEY=value <image> | 设置环境变量 |
docker run --env-file .env <image> | 从文件加载环境变量 |
docker run -v <volume>:/data <image> | 挂载数据卷 |
docker run -v /host/path:/data <image> | 挂载宿主机目录 |
docker run --network <network> <image> | 指定网络启动容器 |
docker create <image> | 创建容器但不启动 |
docker start <container> | 启动已停止容器 |
docker stop <container> | 停止运行中容器 |
docker restart <container> | 重启容器 |
docker kill <container> | 强制停止容器 |
docker rm <container> | 删除已停止容器 |
docker rm -f <container> | 强制删除容器 |
docker logs <container> | 查看容器日志 |
docker logs -f <container> | 实时跟踪容器日志 |
docker logs --tail 100 <container> | 查看最近 100 行日志 |
docker exec <container> <command> | 在运行中容器执行命令 |
docker exec -it <container> sh | 进入运行中容器 |
docker attach <container> | 附加到容器终端 |
docker top <container> | 查看容器进程 |
docker stats | 查看容器资源占用 |
docker stats <container> | 查看指定容器资源占用 |
docker cp <container>:/path ./path | 从容器复制文件到本机 |
docker cp ./path <container>:/path | 从本机复制文件到容器 |
docker rename <old> <new> | 重命名容器 |
docker port <container> | 查看容器端口映射 |
docker diff <container> | 查看容器文件变化 |
docker pause <container> | 暂停容器进程 |
docker unpause <container> | 恢复容器进程 |
docker wait <container> | 等待容器退出并返回退出码 |
docker update --restart unless-stopped <container> | 更新容器重启策略 |
docker commit <container> <tag> | 从容器创建镜像 |
docker export <container> -o container.tar | 导出容器文件系统 |
镜像命令
| 命令 | 说明 |
|---|---|
docker images | 查看本地镜像 |
docker image ls | 查看本地镜像 |
docker pull <image> | 拉取镜像 |
docker build -t <tag> . | 构建镜像 |
docker build --no-cache -t <tag> . | 不使用缓存构建镜像 |
docker tag <image> <tag> | 给镜像打标签 |
docker push <tag> | 推送镜像 |
docker rmi <image> | 删除镜像 |
docker image rm <image> | 删除镜像 |
docker image inspect <image> | 查看镜像详情 |
docker history <image> | 查看镜像构建历史 |
docker save <image> -o image.tar | 导出镜像为 tar 文件 |
docker load -i image.tar | 从 tar 文件导入镜像 |
docker import container.tar <tag> | 从文件系统包导入镜像 |
docker image prune | 删除悬空镜像 |
docker image prune -a | 删除未使用镜像 |
数据卷命令
| 命令 | 说明 |
|---|---|
docker volume ls | 查看数据卷 |
docker volume create <volume> | 创建数据卷 |
docker volume inspect <volume> | 查看数据卷详情 |
docker volume rm <volume> | 删除数据卷 |
docker volume prune | 删除未使用数据卷 |
docker run -v <volume>:/data <image> | 使用数据卷启动容器 |
docker run --mount source=<volume>,target=/data <image> | 使用 mount 语法挂载数据卷 |
网络命令
| 命令 | 说明 |
|---|---|
docker network ls | 查看网络 |
docker network create <network> | 创建网络 |
docker network create --driver bridge <network> | 创建 bridge 网络 |
docker network inspect <network> | 查看网络详情 |
docker network connect <network> <container> | 容器连接到网络 |
docker network disconnect <network> <container> | 容器断开网络 |
docker network rm <network> | 删除网络 |
docker network prune | 删除未使用网络 |
Compose 命令
| 命令 | 说明 |
|---|---|
docker compose up | 启动 Compose 项目 |
docker compose up -d | 后台启动 Compose 项目 |
docker compose up --build -d | 构建并后台启动项目 |
docker compose down | 停止并删除项目容器和网络 |
docker compose down -v | 停止项目并删除数据卷 |
docker compose ps | 查看项目容器 |
docker compose logs | 查看项目日志 |
docker compose logs -f | 实时跟踪项目日志 |
docker compose logs <service> | 查看服务日志 |
docker compose exec <service> sh | 进入运行中服务容器 |
docker compose run --rm <service> sh | 临时运行服务命令 |
docker compose build | 构建服务镜像 |
docker compose pull | 拉取服务镜像 |
docker compose push | 推送服务镜像 |
docker compose start | 启动已创建服务 |
docker compose stop | 停止服务 |
docker compose restart | 重启服务 |
docker compose rm | 删除已停止服务容器 |
docker compose config | 校验并输出 Compose 配置 |
docker compose config --services | 列出服务名 |
docker compose cp <service>:/path ./path | 从服务容器复制文件 |
docker compose top | 查看服务进程 |
docker compose events | 查看项目事件 |
docker compose images | 查看项目镜像 |
docker compose volumes | 查看项目数据卷 |
docker compose ls | 查看 Compose 项目列表 |
构建命令
| 命令 | 说明 |
|---|---|
docker builder prune | 清理构建缓存 |
docker buildx version | 查看 Buildx 版本 |
docker buildx ls | 查看构建器列表 |
docker buildx create --use | 创建并使用构建器 |
docker buildx inspect --bootstrap | 初始化构建器 |
docker buildx build -t <tag> . | 使用 Buildx 构建镜像 |
docker buildx build --load -t <tag> . | 构建并加载到本地 |
docker buildx build --push -t <tag> . | 构建并推送镜像 |
docker buildx build --platform linux/amd64,linux/arm64 -t <tag> --push . | 构建多架构镜像 |
系统和清理命令
| 命令 | 说明 |
|---|---|
docker system df | 查看 Docker 磁盘占用 |
docker system events | 查看 Docker 实时事件 |
docker system prune | 清理未使用容器、网络和悬空镜像 |
docker system prune -a | 清理所有未使用镜像和资源 |
docker system prune --volumes | 同时清理未使用数据卷 |
docker container prune | 删除已停止容器 |
docker image prune | 删除悬空镜像 |
docker image prune -a | 删除未使用镜像 |
docker volume prune | 删除未使用数据卷 |
docker network prune | 删除未使用网络 |
Context 命令
| 命令 | 说明 |
|---|---|
docker context ls | 查看 Docker context |
docker context show | 查看当前 context |
docker context use <context> | 切换 context |
docker context create <context> | 创建 context |
docker context inspect <context> | 查看 context 详情 |
docker context rm <context> | 删除 context |
Swarm 命令
| 命令 | 说明 |
|---|---|
docker swarm init | 初始化 Swarm 集群 |
docker swarm join | 加入 Swarm 集群 |
docker swarm leave | 离开 Swarm 集群 |
docker node ls | 查看 Swarm 节点 |
docker service create --name <service> <image> | 创建 Swarm 服务 |
docker service ls | 查看 Swarm 服务 |
docker service ps <service> | 查看服务任务 |
docker service logs <service> | 查看服务日志 |
docker service scale <service>=3 | 扩缩容服务 |
docker service update --image <image> <service> | 更新服务镜像 |
docker service rm <service> | 删除服务 |
docker stack deploy -c compose.yml <stack> | 部署 Stack |
docker stack ls | 查看 Stack |
docker stack services <stack> | 查看 Stack 服务 |
docker stack ps <stack> | 查看 Stack 任务 |
docker stack rm <stack> | 删除 Stack |
常用组合
| 命令 | 说明 |
|---|---|
docker ps -aq | 输出所有容器 ID |
docker stop $(docker ps -q) | 停止所有运行中容器 |
docker rm $(docker ps -aq) | 删除所有容器 |
docker rmi $(docker images -q) | 删除所有镜像 |
docker logs -f --tail 200 <container> | 跟踪最近 200 行日志 |
docker inspect -f '{{.State.Status}}' <container> | 输出容器状态 |
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container> | 输出容器 IP |
docker exec -it <container> /bin/bash | 使用 bash 进入容器 |
docker exec -it <container> /bin/sh | 使用 sh 进入容器 |