工具 & 效率9 分钟阅读
Docker 运维命令 100 条
本文整理 Docker Engine、BuildKit、Compose、网络、存储、镜像仓库和日常排障常用的 100 条命令。示例以现代对象式子命令为主,同时保留少量常见短命令。
2026年8月8日阅读—点赞—收藏—
dba100docker墨力计划
在知识库中专注阅读,并随时返回相关工具与课程
本文整理 Docker Engine、BuildKit、Compose、网络、存储、镜像仓库和日常排障常用的 100 条命令。示例以现代对象式子命令为主,同时保留少量常见短命令。
本文整理 Docker Engine、BuildKit、Compose、网络、存储、镜像仓库和日常排障常用的 100 条命令。示例以现代对象式子命令为主,同时保留少量常见短命令。
删除容器、镜像、卷和执行 prune 可能造成数据丢失;将用户加入 docker 组等同于授予较高主机权限,生产环境应配合最小权限和审计。
1docker --version1docker version1docker info1docker --help1docker system df1docker system df -v1docker events1docker events --since 1h1systemctl status docker --no-pager1journalctl -u docker -n 200 --no-pager1docker image ls1docker image pull nginx:1.291docker image inspect nginx:1.291docker image history --no-trunc nginx:1.291docker image tag app:v1 registry.example.com/team/app:v11printf '%s' "$REGISTRY_PASSWORD" | docker login registry.example.com -u "$REGISTRY_USER" --password-stdin1docker image push registry.example.com/team/app:v11docker image save -o app-v1.tar app:v11docker image load -i app-v1.tar1docker image rm app:v11docker container run --rm alpine:3.22 echo hello1docker container run -d --name web -p 8080:80 nginx:1.291docker container run --rm -it ubuntu:24.04 bash1docker container run --rm -e APP_ENV=prod app:v11docker container run --rm --env-file .env app:v11docker container run -d --name web -v "$PWD/html:/usr/share/nginx/html:ro" nginx:1.291docker container run -d --name db -v db-data:/var/lib/postgresql/data postgres:181docker container run -d --restart=unless-stopped --name api app:v11docker container run -d --cpus=2 --name api app:v11docker container run -d --memory=1g --memory-swap=1g --name api app:v11docker container ls1docker container ls -a1docker container start web1docker container stop --timeout 30 web1docker container restart web1docker container pause web1docker container unpause web1docker container rename web web-old1docker container wait batch-job1docker container rm web-old1docker container logs web1docker container logs -f --tail 100 web1docker container logs --since 10m web1docker container exec -it web sh1docker container exec -u 0 web id1docker container top web1docker container stats1docker container stats --no-stream web1docker container diff web1docker container export -o web-rootfs.tar web1docker container inspect web1docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' web1docker inspect -f '{{json .State.Health}}' web | jq1docker inspect -f '{{.State.ExitCode}}' batch-job1docker inspect -f '{{json .Mounts}}' web | jq1docker container cp app.conf web:/etc/app/app.conf1docker container cp web:/var/log/nginx/error.log ./error.log1docker container port web1docker container kill --signal=HUP web1docker container update --cpus=2 --memory=1g web1docker build -t app:v1 .1docker build -f docker/Dockerfile -t app:v1 .1docker build --no-cache -t app:v1 .1docker build --build-arg VERSION=1.2.3 -t app:v1 .1docker build --progress=plain -t app:v1 .1docker buildx ls1docker buildx create --name multiarch --use1docker buildx build --platform linux/amd64,linux/arm64 -t registry.example.com/team/app:v1 --push .1docker buildx imagetools inspect registry.example.com/team/app:v11docker builder prune1docker network ls1docker network create app-net1docker network create --subnet 172.30.0.0/24 app-net1docker network inspect app-net1docker network connect app-net web1docker network disconnect app-net web1docker run --rm --network host alpine:3.22 ip address1docker run --rm --network none alpine:3.22 ip address1docker network rm app-net1docker network prune1docker volume ls1docker volume create db-data1docker volume inspect db-data1docker run --rm -v db-data:/data:ro -v "$PWD:/backup" alpine:3.22 tar -czf /backup/db-data.tar.gz -C /data .1docker volume rm db-data1docker compose config -q1docker compose up -d1docker compose ps1docker compose logs -f --tail=1001docker compose down1docker context ls1docker context create prod --docker host=ssh://ops@docker.example.com1docker context use prod1docker image inspect --format='{{json .RepoDigests}}' app:v11docker inspect -f '{{json .HostConfig.CapAdd}} {{json .HostConfig.SecurityOpt}}' web1docker run --rm --read-only --tmpfs /tmp app:v11docker run --rm --cap-drop ALL app:v11docker system df -v1docker container prune1docker system prune默认不删除未使用命名卷;执行前仍应确认清理清单。
Docker 运维应围绕镜像可追溯、容器资源限制、日志轮转、网络隔离、卷备份和最小权限展开。生产清理前先运行 docker system df -v,并避免依赖容器可写层保存持久数据。