点击左侧跳转分类;点击命令或示例即可复制。
镜像管理
| 命令 | 说明 | 示例 |
|---|---|---|
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 -af、compose down -v 会删数据,执行前先确认。
4. 编写镜像清单见 Dockerfile指令。
沪公网安备31010502007661号