Docker 命令大全

按用途分类的常用命令速查:容器、镜像、网络、卷、系统、Compose。

Beginner
Key Points记住六组前缀就够了:container / image / network / volume / system / compose,再加 run、exec、logs 三个高频动词。

容器

Bash
docker run -d -p 8080:80 --name web -v data:/data --restart always nginx
docker ps -a                 # 列出(含已停止)
docker start|stop|restart web
docker exec -it web sh       # 进容器
docker logs -f --tail 100 web
docker inspect web           # 完整 JSON
docker stats --no-stream     # 资源占用快照
docker cp web:/etc/nginx/nginx.conf ./
docker rm -f web             # 强制删除
docker update --memory 512m --cpus 1 web

镜像

Bash
docker pull nginx:1.27
docker images
docker build -t me/app:1.0 .
docker tag me/app:1.0 registry.local/me/app:1.0
docker push registry.local/me/app:1.0
docker history me/app:1.0
docker rmi me/app:1.0
docker save -o app.tar me/app:1.0
docker load -i app.tar

网络

Bash
docker network create app-net
docker network ls
docker network inspect app-net
docker network connect app-net web
docker network disconnect app-net web
docker network rm app-net

卷

Bash
docker volume create data
docker volume ls
docker volume inspect data
docker volume rm data
docker run -v data:/data alpine sh -c 'echo hi > /data/a.txt'

系统与清理

Bash
docker system df             # 空间占用
docker system info
docker system events         # 实时事件流
docker container prune       # 清停止的容器
docker image prune -a        # 清未使用镜像
docker network prune
docker volume prune          # 小心:会删未挂载的卷

Compose 与 Swarm

Bash
docker compose up -d
docker compose ps
docker compose logs -f
docker compose exec api sh
docker compose down -v

docker swarm init
docker service create --replicas 3 -p 80:80 nginx
docker service ls
docker service scale web=5
docker stack deploy -c compose.yaml mystack

格式化输出

Bash
docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'
docker inspect -f '{{.State.Status}} {{.NetworkSettings.IPAddress}}' web
docker images --filter "dangling=true" -q

Friends & Partners