Docker 常用命令总结
1. Docker 基础概念
| 名称 | 说明 |
|---|---|
| Image(镜像) | 类似系统模板 |
| Container(容器) | 镜像运行后的实例 |
| Volume(数据卷) | 持久化数据 |
| Network(网络) | 容器通信 |
2. Docker 信息查看
查看 Docker 版本
1 | docker -v |
查看 Docker 详细信息
1 | docker info |
查看 Docker 帮助
1 | docker --help |
3. 镜像(Image)命令
查看本地镜像
1 | docker images |
搜索镜像
1 | docker search nginx |
拉取镜像
1 | docker pull nginx |
指定版本:
1 | docker pull nginx:1.27 |
删除镜像
1 | docker rmi nginx |
强制删除:
1 | docker rmi -f nginx |
删除所有无用镜像
1 | docker image prune -a |
4. 容器(Container)命令
创建并运行容器
1 | docker run nginx |
后台运行:
1 | docker run -d nginx |
指定名称:
1 | docker run -d --name my-nginx nginx |
端口映射:
1 | docker run -d -p 8080:80 nginx |
挂载目录:
1 | docker run -d \ |
开机自启:
1 | docker run -d \ |
5. 容器状态管理
查看运行中的容器
1 | docker ps |
查看所有容器
1 | docker ps -a |
启动容器
1 | docker start 容器ID |
停止容器
1 | docker stop 容器ID |
重启容器
1 | docker restart 容器ID |
强制停止
1 | docker kill 容器ID |
删除容器
1 | docker rm 容器ID |
强制删除:
1 | docker rm -f 容器ID |
删除所有已停止容器
1 | docker container prune |
6. 日志与进入容器
查看日志
1 | docker logs 容器ID |
实时日志:
1 | docker logs -f 容器ID |
最近100行:
1 | docker logs --tail 100 容器ID |
进入容器
1 | docker exec -it 容器ID bash |
Alpine 系统:
1 | docker exec -it 容器ID sh |
7. 文件复制
主机复制到容器
1 | docker cp index.html 容器ID:/usr/share/nginx/html/ |
容器复制到主机
1 | docker cp 容器ID:/etc/nginx/nginx.conf ./ |
8. 网络相关
查看网络
1 | docker network ls |
创建网络
1 | docker network create my-network |
容器加入网络
1 | docker network connect my-network 容器ID |
9. 数据卷(Volume)
查看数据卷
1 | docker volume ls |
创建数据卷
1 | docker volume create mydata |
删除数据卷
1 | docker volume rm mydata |
10. Docker Compose
启动服务
1 | docker compose up -d |
停止服务
1 | docker compose down |
查看日志
1 | docker compose logs -f |
重启服务
1 | docker compose restart |
查看运行状态
1 | docker compose ps |
11. 常用实战命令
部署静态网站
1 | docker run -d \ |
查看容器资源占用
1 | docker stats |
单个容器:
1 | docker stats 容器ID |
查看端口映射
1 | docker port 容器ID |
查看容器详细信息
1 | docker inspect 容器ID |
12. 清理系统
清理无用资源
1 | docker system prune |
彻底清理:
1 | docker system prune -a |
13. Docker 自动启动
设置容器开机自启
1 | docker update --restart unless-stopped 容器ID |
其它策略:
1 | --restart always |
14. Docker 常见目录
| 目录 | 作用 |
|---|---|
/var/lib/docker |
Docker 数据目录 |
/usr/share/nginx/html |
Nginx 网站目录 |
/etc/nginx/nginx.conf |
Nginx 配置文件 |
15. 常用排查命令
查看端口占用
1 | ss -lntp |
查看 Docker 进程
1 | ps aux | grep docker |
查看 Docker 服务状态
1 | systemctl status docker |
重启 Docker
1 | systemctl restart docker |
开机自启 Docker
1 | systemctl enable docker |
16. 一键更新容器
拉取新镜像并重建
1 | docker compose pull |
17. 常见镜像
| 镜像 | 用途 |
|---|---|
| nginx | Web服务器 |
| mysql | 数据库 |
| redis | 缓存 |
| ubuntu | Linux环境 |
| node | Node.js |
| python | Python环境 |
18. 推荐学习路线
- Docker 基础
- 镜像与容器
- 数据卷
- 网络
- Docker Compose
- Nginx + Docker
- 多容器部署
- CI/CD 自动化部署
19. 高频命令速查
1 | docker ps |