以下是 Docker 的所有常用命令及其案例说明,按功能分类整理:
1. 镜像管理
1.1 拉取镜像
- 命令:
docker pull <镜像名>:<标签>
- 案例: 拉取官方的
nginx
镜像docker pull nginx:latest
1.2 列出本地镜像
- 命令:
docker images
- 案例: 查看本地所有镜像
docker images
1.3 删除镜像
- 命令:
docker rmi <镜像ID>
- 案例: 删除镜像 ID 为
abc123
的镜像docker rmi abc123
1.4 构建镜像
- 命令:
docker build -t <镜像名> <Dockerfile路径>
- 案例: 在当前目录构建一个名为
myapp
的镜像docker build -t myapp .
1.5 查看镜像历史
- 命令:
docker history <镜像名>
- 案例: 查看
nginx
镜像的构建历史docker history nginx
1.6 打包镜像为 tar 文件
- 命令:
docker save -o <文件名>.tar <镜像名>
- 案例: 将
myapp
镜像打包为myapp.tar
docker save -o myapp.tar myapp
1.7 从 tar 文件加载镜像
- 命令:
docker load -i <文件名>.tar
- 案例: 从
myapp.tar
文件加载镜像docker load -i myapp.tar
2. 容器管理
2.1 启动容器
- 命令:
docker run <选项> <镜像名>
- 案例: 启动一个
nginx
容器并映射端口docker run -d -p 8080:80 nginx
2.2 列出运行中的容器
- 命令:
docker ps
- 案例: 查看当前运行中的容器
docker ps
2.3 列出所有容器
- 命令:
docker ps -a
- 案例: 查看所有容器(包括已停止的)
docker ps -a
2.4 停止容器
- 命令:
docker stop <容器ID>
- 案例: 停止容器 ID 为
123abc
的容器docker stop 123abc
2.5 启动已停止的容器
- 命令:
docker start <容器ID>
- 案例: 启动容器 ID 为
123abc
的容器docker start 123abc
2.6 重启容器
- 命令:
docker restart <容器ID>
- 案例: 重启容器 ID 为
123abc
的容器docker restart 123abc
2.7 删除容器
- 命令:
docker rm <容器ID>
- 案例: 删除容器 ID 为
123abc
的容器docker rm 123abc
2.8 进入容器
- 命令:
docker exec -it <容器ID> /bin/bash
- 案例: 进入容器 ID 为
123abc
的容器docker exec -it 123abc /bin/bash
2.9 查看容器日志
- 命令:
docker logs <容器ID>
- 案例: 查看容器 ID 为
123abc
的日志docker logs 123abc
2.10 查看容器详细信息
- 命令:
docker inspect <容器ID>
- 案例: 查看容器 ID 为
123abc
的详细信息docker inspect 123abc
2.11 导出容器为 tar 文件
- 命令:
docker export -o <文件名>.tar <容器ID>
- 案例: 将容器 ID 为
123abc
的容器导出为container.tar
docker export -o container.tar 123abc
2.12 从 tar 文件导入为镜像
- 命令:
docker import <文件名>.tar <镜像名>:<标签>
- 案例: 从
container.tar
文件导入为镜像myimage:latest
docker import container.tar myimage:latest
3. 网络管理
3.1 列出网络
- 命令:
docker network ls
- 案例: 查看所有 Docker 网络
docker network ls
3.2 创建网络
- 命令:
docker network create <网络名>
- 案例: 创建一个名为
mynetwork
的网络docker network create mynetwork
3.3 连接容器到网络
- 命令:
docker network connect <网络名> <容器ID>
- 案例: 将容器 ID 为
123abc
的容器连接到mynetwork
网络docker network connect mynetwork 123abc
3.4 断开容器与网络的连接
- 命令:
docker network disconnect <网络名> <容器ID>
- 案例: 断开容器 ID 为
123abc
的容器与mynetwork
网络的连接docker network disconnect mynetwork 123abc
3.5 删除网络
- 命令:
docker network rm <网络名>
- 案例: 删除名为
mynetwork
的网络docker network rm mynetwork
4. 数据卷管理
4.1 创建数据卷
- 命令:
docker volume create <卷名>
- 案例: 创建一个名为
mydata
的数据卷docker volume create mydata
4.2 列出数据卷
- 命令:
docker volume ls
- 案例: 查看所有数据卷
docker volume ls
4.3 查看数据卷详细信息
- 命令:
docker volume inspect <卷名>
- 案例: 查看
mydata
数据卷的详细信息docker volume inspect mydata
4.4 删除数据卷
- 命令:
docker volume rm <卷名>
- 案例: 删除名为
mydata
的数据卷docker volume rm mydata
5. Docker Compose
5.1 启动服务
- 命令:
docker-compose up
- 案例: 启动
docker-compose.yml
中定义的服务docker-compose up
5.2 停止服务
- 命令:
docker-compose down
- 案例: 停止并删除
docker-compose.yml
中定义的服务docker-compose down
5.3 查看服务状态
- 命令:
docker-compose ps
- 案例: 查看
docker-compose.yml
中定义的服务状态docker-compose ps
5.4 构建服务
- 命令:
docker-compose build
- 案例: 构建
docker-compose.yml
中定义的服务镜像docker-compose build
5.5 启动服务(后台模式)
- 命令:
docker-compose up -d
- 案例: 在后台启动
docker-compose.yml
中定义的服务docker-compose up -d
6. 系统信息
6.1 查看 Docker 版本
- 命令:
docker --version
- 案例: 查看 Docker 版本
docker --version
6.2 查看 Docker 系统信息
- 命令:
docker info
- 案例: 查看 Docker 系统信息
docker info
6.3 查看 Docker 磁盘使用情况
- 命令:
docker system df
- 案例: 查看 Docker 磁盘使用情况
docker system df
7. 清理
7.1 清理未使用的镜像、容器、网络
- 命令:
docker system prune
- 案例: 清理未使用的资源
docker system prune
7.2 清理所有未使用的资源
- 命令:
docker system prune -a
- 案例: 清理所有未使用的资源(包括未使用的镜像)
docker system prune -a
以上是 Docker 的常用命令及其案例说明,涵盖了镜像、容器、网络、数据卷、Docker Compose 和系统管理等核心功能。