Docker 常用命令速查手册
一、镜像管理
搜索镜像
docker search nginx
在 Docker Hub 上搜索镜像,返回镜像名称、描述和星级。
拉取镜像
docker pull nginx:latest
docker pull nginx:1.25-alpine
建议始终指定标签,避免使用 latest 导致版本不可控。
列出本地镜像
docker images
# 或更简洁
docker image ls
删除镜像
docker rmi nginx:latest
docker rmi $(docker images -q --filter "dangling=true") # 清理悬空镜像
构建镜像
docker build -t myapp:v1 .
docker build -f Dockerfile.prod -t myapp:prod .
保存与加载镜像
docker save -o myapp.tar myapp:v1 # 导出
docker load -i myapp.tar # 导入
二、容器操作
创建并启动容器
docker run -d \
--name my-nginx \
-p 8080:80 \
-v /data/html:/usr/share/nginx/html \
--restart unless-stopped \
nginx:1.25-alpine
常用参数说明:
| 参数 | 说明 |
|---|---|
-d | 后台运行 |
--name | 指定容器名称 |
-p | 端口映射(宿主机:容器) |
-v | 挂载数据卷 |
--restart | 重启策略(no / always / unless-stopped / on-failure) |
-e | 设置环境变量 |
--network | 指定网络 |
查看运行中的容器
docker ps
docker ps -a # 包含已停止的容器
容器生命周期管理
docker start my-nginx
docker stop my-nginx
docker restart my-nginx
docker pause my-nginx
docker unpause my-nginx
docker rm my-nginx # 删除已停止的容器
docker rm -f my-nginx # 强制删除运行中的容器
查看容器日志
docker logs my-nginx
docker logs -f --tail 100 my-nginx # 实时跟踪最后 100 行
进入容器
docker exec -it my-nginx /bin/sh
docker exec -it my-nginx bash
查看容器资源占用
docker stats
docker stats my-nginx
三、数据卷管理
创建与查看数据卷
docker volume create my-data
docker volume ls
docker volume inspect my-data
删除数据卷
docker volume rm my-data
docker volume prune # 删除所有未使用的数据卷
四、网络管理
创建网络
docker network create --driver bridge my-net
查看网络
docker network ls
docker network inspect my-net
将容器加入网络
docker network connect my-net my-nginx
五、系统清理
# 清理所有停止的容器
docker container prune
# 清理所有未使用的镜像
docker image prune -a
# 一键清理(停止的容器、未使用的网络、悬空镜像、构建缓存)
docker system prune -a
六、实用技巧
查看容器内部文件变更
docker diff my-nginx
查看容器元信息
docker inspect my-nginx
docker inspect --format '{{.NetworkSettings.IPAddress}}' my-nginx
将容器提交为镜像
docker commit -m "添加配置文件" my-nginx my-nginx-custom:v1
拷贝文件
docker cp my-nginx:/etc/nginx/nginx.conf ./nginx.conf
docker cp ./app.conf my-nginx:/etc/nginx/conf.d/app.conf
提示:日常运维推荐编写 Shell 脚本封装常用命令组合,搭配
docker compose管理多容器场景。