Docker 速查手册

常用Docker命令中文参考
安装镜像容器数据卷网络ComposeDockerfile检查系统清理

安装与版本

容器docker version
查看Docker版本信息
容器docker info
查看Docker系统信息
Composedocker compose version
查看Docker Compose版本

镜像管理

镜像docker pull nginx:latest
拉取镜像
镜像docker images
列出本地所有镜像
镜像docker rmi nginx:latest
删除指定镜像
Dockerfiledocker build -t myapp:1.0 .
构建镜像并打标签
镜像docker tag myapp:1.0 myrepo/myapp:1.0
为镜像添加新标签
镜像docker push myrepo/myapp:1.0
推送镜像到仓库
镜像docker save -o myapp.tar myapp:1.0
导出镜像为tar文件
镜像docker load -i myapp.tar
从tar文件导入镜像
镜像docker history nginx:latest
查看镜像构建历史
镜像docker inspect nginx:latest
查看镜像详细信息(JSON)
镜像docker image prune -a
删除所有未使用的镜像
容器docker cp container:/app/logs ./logs
在容器和主机间复制文件

容器管理

容器docker run -d --name web -p 80:80 nginx
后台运行容器,映射端口
容器docker run -it ubuntu bash
交互式运行容器
容器docker run -v /host/path:/container/path nginx
挂载数据卷运行容器
容器docker run -e MYSQL_ROOT_PASSWORD=123 mysql
设置环境变量运行容器
容器docker ps -a
查看所有容器(含已停止)
容器docker start web
启动已停止的容器
容器docker stop web
优雅停止容器(等待10秒后强制停止)
容器docker kill web
强制停止容器
容器docker restart web
重启容器
容器docker rm -f web
删除容器(-f 强制)
容器docker logs -f --tail 100 web
查看容器日志(实时跟踪)
容器docker exec -it web bash
进入运行中的容器
容器docker exec web cat /etc/nginx/nginx.conf
在容器内执行命令(不进入Shell)
容器docker attach web
附加到容器主进程(Ctrl+P,Q分离)
容器docker rename old-name new-name
重命名容器
容器docker inspect web
查看容器详细配置
容器docker export web > container.tar
导出容器文件系统为tar
容器docker port web
查看容器端口映射
容器docker stats
实时查看容器资源使用
容器docker top web
查看容器内运行的进程
容器docker diff web
查看容器文件系统变化

数据卷

数据卷docker volume create mydata
创建命名数据卷
数据卷docker volume ls
列出所有数据卷
数据卷docker volume inspect mydata
查看数据卷详情
数据卷docker volume rm mydata
删除指定数据卷
数据卷docker volume prune
删除所有未使用的数据卷

网络管理

网络docker network create mynet
创建自定义网络
网络docker network ls
列出所有网络
网络docker network inspect mynet
查看网络详情
网络docker network connect mynet web
将容器连接到网络
网络docker network disconnect mynet web
从网络断开容器
网络docker network rm mynet
删除自定义网络
网络docker run --network mynet --name db mysql
指定容器加入的网络

Docker Compose

Composedocker compose up -d
后台启动所有服务
Composedocker compose down -v
停止并删除容器、网络、卷
Composedocker compose ps -a
查看所有服务状态
Composedocker compose logs -f web
查看指定服务日志
Composedocker compose build --no-cache
重新构建服务镜像
Composedocker compose restart web
重启指定服务
Composedocker compose exec web bash
进入服务容器
Composedocker compose pull
拉取所有服务最新镜像
Composedocker compose config
验证并查看最终Compose配置
Composedocker compose top
查看各服务的进程

Dockerfile 常用指令

DockerfileFROM node:20-alpine
指定基础镜像
DockerfileWORKDIR /app
设置工作目录
DockerfileCOPY package*.json ./
复制文件到镜像
DockerfileRUN npm install --production
构建时执行命令
DockerfileEXPOSE 3000
声明容器监听的端口
DockerfileENV NODE_ENV=production
设置环境变量
DockerfileARG VERSION=1.0
构建时参数(仅构建阶段可用)
DockerfileCMD ["node", "server.js"]
容器启动时的默认命令
DockerfileENTRYPOINT ["python", "app.py"]
容器入口点
DockerfileVOLUME /data
声明匿名卷挂载点
DockerfileUSER node
切换运行用户
DockerfileHEALTHCHECK --interval=30s CMD curl -f http://localhost/
定义健康检查
DockerfileFROM node:20 AS builder\nWORKDIR /app\nCOPY . .\nRUN npm run build\n\nFROM nginx:alpine\nCOPY --from=builder /app/dist /usr/share/nginx/html
多阶段构建示例

检查与调试

容器docker system df
查看Docker磁盘使用情况
容器docker events --since="2024-01-01"
查看Docker事件日志
容器docker wait web
等待容器停止并返回退出码
容器docker rename web nginx-server
重命名容器

系统与清理

容器docker system prune -af
⚠️ 清理所有未使用的资源(容器、镜像、网络)
容器docker container prune -f
删除所有已停止的容器
镜像docker image prune -af
删除所有未使用的镜像
网络docker network prune -f
删除所有未使用的网络
镜像docker login docker.io
登录Docker仓库
镜像docker logout
退出Docker仓库
← 首页