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