Docker 常用命令大全
本课为Docker常用命令速查手册,按功能分类整理,方便日常开发和运维工作中快速查找。
1. Docker 基础信息命令
1.1 查看Docker版本和信息
# 查看Docker版本
docker --version
docker version
# 查看Docker系统信息
docker info
# 查看Docker帮助
docker --help
docker COMMAND --help
2. 镜像相关命令
2.1 镜像搜索和下载
# 搜索镜像
docker search nginx
docker search --limit 5 mysql
# 拉取镜像
docker pull nginx
docker pull nginx:1.20
docker pull registry.cn-hangzhou.aliyuncs.com/namespace/image:tag
# 查看本地镜像
docker images
docker image ls
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"
2.2 镜像管理
# 查看镜像详细信息
docker inspect nginx:latest
docker image inspect nginx:latest
# 查看镜像历史
docker history nginx:latest
# 给镜像打标签
docker tag nginx:latest mynginx:v1.0
# 删除镜像
docker rmi nginx:latest
docker image rm nginx:latest
docker rmi $(docker images -q) # 删除所有镜像
# 清理无用镜像
docker image prune
docker image prune -a # 删除所有未使用的镜像
2.3 镜像导入导出
# 导出镜像
docker save nginx:latest > nginx.tar
docker save -o nginx.tar nginx:latest
# 导入镜像
docker load < nginx.tar
docker load -i nginx.tar
# 从容器创建镜像
docker commit container_name new_image:tag
3. 容器相关命令
3.1 容器运行
# 运行容器
docker run nginx
docker run -d nginx # 后台运行
docker run -it ubuntu bash # 交互式运行
docker run --name mynginx nginx # 指定容器名称
docker run -p 8080:80 nginx # 端口映射
docker run -v /host/path:/container/path nginx # 挂载数据卷
# 常用运行参数
docker run -d \
--name mynginx \
-p 80:80 \
-v /data:/usr/share/nginx/html \
--restart always \
--memory 512m \
--cpus 0.5 \
nginx:latest
3.2 容器查看
# 查看运行中的容器
docker ps
docker container ls
# 查看所有容器(包括停止的)
docker ps -a
docker container ls -a
# 查看容器详细信息
docker inspect container_name
docker container inspect container_name
# 查看容器日志
docker logs container_name
docker logs -f container_name # 实时查看日志
docker logs --tail 100 container_name # 查看最后100行日志
3.3 容器操作
# 启动/停止/重启容器
docker start container_name
docker stop container_name
docker restart container_name
# 暂停/恢复容器
docker pause container_name
docker unpause container_name
# 进入容器
docker exec -it container_name bash
docker exec -it container_name sh
docker attach container_name
# 从容器复制文件
docker cp container_name:/path/to/file /host/path
docker cp /host/path container_name:/path/to/file
# 查看容器资源使用情况
docker stats
docker stats container_name
3.4 容器清理
# 删除容器
docker rm container_name
docker container rm container_name
docker rm -f container_name # 强制删除运行中的容器
# 批量删除容器
docker rm $(docker ps -aq) # 删除所有容器
docker container prune # 删除所有停止的容器
4. 网络相关命令
# 查看网络
docker network ls
# 创建网络
docker network create mynetwork
docker network create --driver bridge mynetwork
# 查看网络详情
docker network inspect mynetwork
# 连接容器到网络
docker network connect mynetwork container_name
# 断开容器网络连接
docker network disconnect mynetwork container_name
# 删除网络
docker network rm mynetwork
docker network prune # 删除未使用的网络
5. 数据卷相关命令
# 查看数据卷
docker volume ls
# 创建数据卷
docker volume create myvolume
# 查看数据卷详情
docker volume inspect myvolume
# 删除数据卷
docker volume rm myvolume
docker volume prune # 删除未使用的数据卷
6. Docker Compose 命令
# 启动服务
docker-compose up
docker-compose up -d # 后台启动
# 停止服务
docker-compose down
docker-compose stop
# 查看服务状态
docker-compose ps
# 查看服务日志
docker-compose logs
docker-compose logs service_name
# 重启服务
docker-compose restart
docker-compose restart service_name
# 构建镜像
docker-compose build
docker-compose build service_name
# 拉取镜像
docker-compose pull
7. Dockerfile 构建命令
# 构建镜像
docker build .
docker build -t myimage:tag .
docker build -f Dockerfile.prod .
# 构建时传递参数
docker build --build-arg ARG_NAME=value .
# 不使用缓存构建
docker build --no-cache .
8. 系统清理命令
# 清理系统
docker system df # 查看磁盘使用情况
docker system prune # 清理未使用的资源
docker system prune -a # 清理所有未使用的资源
# 分别清理
docker container prune # 清理停止的容器
docker image prune # 清理未使用的镜像
docker image prune -a # 清理所有未使用的镜像
docker volume prune # 清理未使用的数据卷
docker network prune # 清理未使用的网络
9. 监控和调试命令
# 查看容器进程
docker top container_name
# 查看容器资源使用
docker stats container_name
# 查看容器端口映射
docker port container_name
# 查看容器文件系统变化
docker diff container_name
# 导出容器
docker export container_name > container.tar
# 导入容器
docker import container.tar new_image:tag
10. 常用组合命令
# 停止并删除所有容器
docker stop $(docker ps -aq) && docker rm $(docker ps -aq)
# 删除所有镜像
docker rmi $(docker images -q)
# 删除悬空镜像
docker rmi $(docker images -f "dangling=true" -q)
# 查看容器IP地址
docker inspect container_name | grep IPAddress
# 进入容器并查看环境变量
docker exec -it container_name env
# 实时查看容器日志
docker logs -f --tail 100 container_name
11. 快捷别名设置
在 ~/.bashrc
或 ~/.zshrc
中添加常用别名:
# Docker 别名
alias d='docker'
alias dc='docker-compose'
alias dps='docker ps'
alias dpsa='docker ps -a'
alias di='docker images'
alias dlog='docker logs -f'
alias dexec='docker exec -it'
alias dstop='docker stop $(docker ps -aq)'
alias drm='docker rm $(docker ps -aq)'
alias drmi='docker rmi $(docker images -q)'
alias dprune='docker system prune -a'
小结
本课整理了Docker的常用命令,包括:
- 基础信息命令 - 查看版本、系统信息
- 镜像管理 - 搜索、下载、删除、导入导出镜像
- 容器操作 - 运行、查看、操作、清理容器
- 网络管理 - 创建、查看、删除网络
- 数据卷管理 - 创建、查看、删除数据卷
- Docker Compose - 多容器应用管理
- 系统清理 - 清理未使用的资源
- 监控调试 - 查看容器状态和资源使用
建议将常用命令制作成速查卡片,提高日常工作效率。随着使用经验的积累,你会发现这些命令将成为你的得力工具。
至此,Docker教程全部完成!希望这个系列教程能帮助你掌握Docker容器技术,在实际项目中发挥作用。
📚 文章对你有帮助?请关注我的公众号,万分感谢!
获取更多优质技术文章,第一时间掌握最新技术动态

关注公众号
第一时间获取最新技术文章

添加微信
技术交流 · 问题答疑 · 学习指导
评论讨论
欢迎留下你的想法和建议