点击左侧跳转分类;点击命令或示例即可复制。

镜像管理
命令说明示例
docker search keyword 在 Docker Hub 搜索镜像 docker search nginx
docker search --limit 5 keyword 限制搜索结果数量 docker search --limit 5 redis
docker images 列出本地镜像 docker images
docker images -a 含中间层镜像 docker images -a
docker pull image:tag 拉取镜像 docker pull nginx:1.27
docker pull registry/img:tag 从私有仓库拉取 docker pull registry.example.com/app:1.0
docker login 登录镜像仓库(Hub/私有) docker login registry.example.com
docker logout 退出镜像仓库登录 docker logout registry.example.com
docker tag src dest 给镜像打新标签(推送前常用) docker tag myapp:1.0 registry.example.com/myapp:1.0
docker push image:tag 推送镜像到仓库 docker push registry.example.com/myapp:1.0
docker build -t name:tag . 构建镜像 docker build -t myapp:1.0 .
docker build -t name:tag -f Dockerfile.path . 指定 Dockerfile 构建 docker build -t myapp:1.0 -f docker/Dockerfile .
docker rmi image 删除镜像 docker rmi nginx:old
docker rmi -f image 强制删除镜像 docker rmi -f myapp:debug
docker image prune -f 清理悬空镜像 docker image prune -f
docker image inspect image 查看镜像详细信息 docker image inspect nginx:1.27
docker history image 查看镜像分层历史 docker history myapp:1.0
docker save -o a.tar image 导出镜像为 tar docker save -o nginx.tar nginx:1.27
docker load -i a.tar 从 tar 导入镜像 docker load -i nginx.tar
容器生命周期
命令说明示例
docker run -d --name n -p 8080:80 img 后台运行并映射端口 docker run -d --name web -p 8080:80 nginx
docker run -it --rm img sh 交互进入,退出即删 docker run -it --rm alpine sh
docker run -v host:cont img 挂载目录/卷 docker run -d -v $(pwd)/data:/data --name api myapp
docker run -e KEY=val img 传入环境变量 docker run -d -e SPRING_PROFILES_ACTIVE=prod myapp
docker run --network net img 指定网络启动 docker run -d --network app-net --name api myapp
docker start name 启动已停止的容器 docker start api
docker stop name 优雅停止容器 docker stop api
docker kill name 强制杀掉容器进程 docker kill api
docker restart name 重启容器 docker restart api
docker rm name 删除已停止容器 docker rm api
docker rm -f name 强制删除运行中容器 docker rm -f api
docker rename old new 重命名容器 docker rename api api-old
docker update --restart=always name 更新重启策略等 docker update --restart=unless-stopped api
docker pause/unpause name 暂停/恢复容器进程 docker pause api
docker wait name 等待容器退出并返回码 docker wait api
文件复制与提交
命令说明示例
docker cp cont:src dest 从容器拷到宿主机 docker cp api:/app/logs ./logs
docker cp src cont:dest 从宿主机拷进容器 docker cp ./config.yml api:/app/config.yml
docker cp cont1:src cont2:dest 容器之间拷贝(经本地中转更稳) docker cp api:/tmp/a.txt ./a.txt && docker cp ./a.txt web:/tmp/a.txt
docker commit name image:tag 把容器变更提交为新镜像 docker commit api myapp:debug
docker commit -m 'msg' -a 'author' name image:tag 带说明与作者提交 docker commit -m 'add tools' -a 'dev' api myapp:debug
docker export name -o a.tar 导出容器文件系统为 tar docker export api -o api-fs.tar
docker import a.tar image:tag 从 tar 导入为镜像 docker import api-fs.tar myapp:from-export
docker diff name 查看容器相对镜像的文件变更 docker diff api
进入与日志
命令说明示例
docker ps 运行中的容器 docker ps
docker ps -a 含已退出的容器 docker ps -a
docker ps -aq 只输出容器 ID docker ps -aq
docker logs -f --tail 200 name 跟踪最近日志 docker logs -f --tail 200 api
docker logs --since 10m name 按时间看日志 docker logs --since 30m api
docker logs --timestamps name 日志带时间戳 docker logs --timestamps api | tail
docker exec -it name bash 进入容器(无 bash 用 sh) docker exec -it api sh
docker exec -it -u root name sh 以 root 进入容器 docker exec -it -u root api sh
docker exec name cmd 在容器内执行命令 docker exec api ls /app
docker attach name 附着到主进程输出(慎用) docker attach web
docker top name 容器内进程列表 docker top api
docker stats 实时资源占用 docker stats
docker inspect name 查看详细配置/IP 等 docker inspect api | less
docker inspect -f '{{.NetworkSettings.IPAddress}}' name 取容器 IP docker inspect -f '{{.NetworkSettings.IPAddress}}' api
网络与存储
命令说明示例
docker network ls 列出网络 docker network ls
docker network create name 创建自定义网络 docker network create app-net
docker network connect net cont 把容器加入网络 docker network connect app-net api
docker network disconnect net cont 容器退出网络 docker network disconnect app-net api
docker network inspect net 查看网络详情与容器 docker network inspect bridge
docker volume ls 列出数据卷 docker volume ls
docker volume create name 创建命名卷 docker volume create pgdata
docker volume inspect name 查看卷挂载点 docker volume inspect pgdata
docker volume rm name 删除未使用卷 docker volume rm pgdata
docker port name 查看端口映射 docker port web
Compose 编排
命令说明示例
docker compose up -d 后台启动服务 docker compose up -d
docker compose up -d --build 重建镜像后启动 docker compose up -d --build
docker compose down 停止并移除容器/网络 docker compose down
docker compose down -v 同时删除声明的卷(慎用) docker compose down -v
docker compose ps 查看编排服务状态 docker compose ps
docker compose logs -f svc 跟踪某服务日志 docker compose logs -f api
docker compose exec svc sh 进入服务容器 docker compose exec api sh
docker compose restart svc 重启某服务 docker compose restart api
docker compose pull 拉取 compose 中镜像 docker compose pull
docker compose config 校验并展开配置 docker compose config
docker compose build 仅构建服务镜像 docker compose build api
docker compose stop/start 停止/启动服务(保留容器) docker compose stop && docker compose start
清理与排障
命令说明示例
docker system df 查看 Docker 磁盘占用 docker system df
docker system prune -f 清理停止容器/悬空镜像/网络 docker system prune -f
docker system prune -af 清理所有未用镜像(慎用) docker system prune -af
docker container prune -f 清理已停止容器 docker container prune -f
docker volume prune -f 清理未使用卷(慎用) docker volume prune -f
docker network prune -f 清理未使用网络 docker network prune -f
docker events 实时事件流(排障) docker events
docker info 守护进程与环境信息 docker info
docker version 客户端/服务端版本 docker version
journalctl -u docker -f 跟踪 Docker 服务日志(systemd) journalctl -u docker -f

文档说明

本页整理日常开发与排障最常用的 Docker / Compose 命令,按场景分类,便于快速查阅。

1. 镜像相关看「镜像管理」:search / pull / tag / push / login。

2. 容器文件与快照看「文件复制与提交」:cp / commit / export / import。

3. docker system prune -afcompose down -v 会删数据,执行前先确认。

4. 编写镜像清单见 Dockerfile指令