D ocker 常用命令大全(超详细笔记|适合新手 + 日常查阅)
这是一份面向新手快速上手 + 日常开发/运维高频查阅 的 Docker 命令整理,涵盖了最常用、最实用的命令,按使用场景分类,并附带最常见的参数组合和实际使用示例。
一、基础信息类命令
命令 说明 常用写法示例 docker --version查看 docker 版本 docker --versiondocker info显示 docker 系统详细信息 docker info --format '{{.ServerVersion}}'docker system df查看镜像、容器、卷、构建缓存占用 docker system df -vdocker system prune清理未使用的容器、网络、镜像、构建缓存 docker system prune -a --volumes
二、镜像(Image)常用命令
操作 命令 常用示例 / 说明 拉取镜像 docker pull <image>[:tag]docker pull redis:7docker pull nginx:alpine查看本地镜像 docker images / docker image lsdocker images -a(包含中间层)docker images -q(只显示 id)删除镜像 docker rmi <image>docker rmi nginx:1.23docker rmi -f <id>(强制)删除全部无用镜像 docker image prunedocker image prune -a(删除所有未被容器使用的镜像)给镜像打标签 docker tag <source> <target>docker tag myapp:1.0 myapp:latest导出镜像 docker save -o 文件名.tar 镜像名docker save -o nginx.tar nginx:1.23导入镜像 docker load -i 文件名.tardocker load -i nginx.tar查看镜像历史 docker history <image>docker history --no-trunc nginx
三、容器(Container)常用命令
操作 命令 常用示例 / 说明 运行容器 docker run [选项] 镜像 [命令]docker run -d -p 80:80 --name nginx nginx列出容器 docker ps / docker container lsdocker ps -a(包含停止的)docker ps -q(只 id)停止容器 docker stop <容器名/id>docker stop nginx启动已停止容器 docker start <容器名/id>docker start nginx重启容器 docker restart <容器名/id>docker restart nginx强制杀死容器 docker kill <容器名/id>docker kill nginx删除容器 docker rm <容器名/id>docker rm -f nginx(强制删除运行中的)删除所有停止容器 docker container prunedocker container prune -f进入容器交互 docker exec -it <容器名/id> /bin/bashdocker exec -it nginx bash 常用:sh、ash查看容器日志 docker logs <容器名/id>docker logs -f nginx(实时跟踪)查看容器占用资源 docker statsdocker stats --no-stream(单次快照)查看容器详细信息 docker inspect <容器名/id>docker inspect nginx --format '{{.NetworkSettings.IPAddress}}'复制文件 docker cp <容器名>:/path/file ./docker cp nginx:/etc/nginx/nginx.conf ./从容器复制到宿主机 docker cp ./file <容器名>:/path/docker cp app.jar nginx:/app/
四、构建镜像(Dockerfile 相关)
命令 说明 常用示例 构建镜像 docker build -t 名称:标签 .docker build -t myapp:1.0 .docker build -f Dockerfile.dev -t myapp:dev .无缓存构建 --no-cachedocker build --no-cache -t myapp:1.0 .指定构建上下文以外的 Dockerfile -fdocker build -f sub/dir/Dockerfile -t xxx .构建并立即运行(开发常用) docker buildx bake / docker compose见 compose 部分 多阶段构建 使用 AS 关键字 见 Dockerfile 高级写法
五、Docker Compose 常用命令(强烈推荐日常使用)
操作 命令 常用写法 / 说明 启动所有服务 docker compose updocker compose up -d(后台运行)停止并删除容器 docker compose downdocker compose down -v(连卷一起删)重启所有服务 docker compose restartdocker compose restart web redis查看日志 docker compose logsdocker compose logs -f web(实时跟踪)进入容器 docker compose exec 服务名 bashdocker compose exec web bash拉取最新镜像 docker compose pull配合 up --build 使用 只构建不启动 docker compose builddocker compose build --no-cache指定配置文件 -fdocker compose -f docker-compose.prod.yml up
六、高频实用组合命令(收藏必备)
功能 命令组合示例 删除所有停止的容器 docker rm $(docker ps -aq -f status=exited)删除所有未使用的镜像 docker rmi $(docker images -q -f dangling=true)删除所有未被容器使用的镜像 docker image prune -a停止并删除所有容器 docker stop $(docker ps -aq) && docker rm $(docker ps -aq)清理全部(慎用) docker system prune -a --volumes快速查看容器 IP docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 容器名快速备份容器内文件 docker cp 容器名:/app/data ./backup/快速查看容器内运行的进程 docker top 容器名
七、推荐日常使用的命令别名(放进 ~/.bashrc 或 ~/.zshrc)
alias dps='docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"'
alias dpa='docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"'
alias drm='docker rm -f'
alias dlogs='docker logs -f'
alias dexec='docker exec -it'
alias dc='docker compose'
alias dcu='docker compose up -d'
alias dcd='docker compose down'
alias dcps='docker compose ps'
alias dclean='docker system prune -f && docker image prune -f'
八、快速记忆口诀(背下来就能快速上手)
创建 → docker run / docker create
启动/停止 → start / stop / restart
查看 → ps / logs / inspect / stats
删除 → rm(容器) / rmi(镜像) / prune(批量清理)
构建 → build
进入 → exec -it
拷贝 → cp
Compose → dc up -d / dc down / dc logs -f
如果你需要某个命令的更详细用法 、常见报错解决 、Dockerfile 最佳实践 、多阶段构建完整案例 、Compose 生产级写法 ,或者Docker 网络、存储、Swarm 等进阶内容,欢迎继续提问,我可以继续展开。