20-Docker 镜像与容器的增删改查
Docker 镜像增删改查
1. 增
- 从 Docker Hub 或私有仓库下载镜像
1
docker pull [镜像名]:[标签]
- 构建镜像
1
2
3docker build [OPTIONS] [PATH]
例如:
docker build -t [镜像名]:[标签] . - 将镜像打包成 .tar 文件
1
2docker save -o [文件名.tar] [镜像名]
这样可以方便迁移或分享镜像。 - 恢复 .tar 文件为镜像
1
docker load -i [文件名.tar]
- 将本地镜像上传到 Docker Hub 或私有仓库
1
docker push [用户名]/[镜像名]:[标签]
2. 删
- 删除镜像
1
2
3
4
5docker rmi [镜像名或ID]
如果镜像正在被容器使用,需要先删除容器。
先停止并删除容器:
docker stop [容器ID]
docker rm [容器ID] - 删除镜像
1
docker rmi [镜像ID]
- 清理未使用的镜像
1
docker image prune
3. 改
- 修改镜像的名称和标签
1
docker tag [原镜像名]:[原标签] [新镜像名]:[新标签]
4. 查
- 列出所有已下载的镜像
1
docker images 或 docker image ls
- 查看镜像的构建过程(Dockerfile 的每一层)
1
docker history [镜像名]
Docker 容器增删改查
1. 增
- 从镜像创建并运行新容器
1
2
3
4
5
6
7
8
9
10
11
12docker run [OPTIONS] [镜像名]
常用选项:
- -d:后台运行(detach 模式)
- --name:给容器命名(否则 Docker 随机生成)
- -p:端口映射(主机端口:容器端口)
- -v:数据卷挂载(主机目录:容器目录)
- -e:设置环境变量
- --rm:容器退出后自动删除(适用于测试)
示例:
docker run -d -p [主机端口]:[容器端口] [镜像名] # 端口映射
docker run -v [主机目录]:[容器目录] [镜像名] # 数据卷挂载(持久化数据)
2. 删
- 删除已停止的容器
1
docker rm [容器名或ID]
- 强制删除运行中的容器
1
docker rm -f [容器名或ID]
- 删除所有已停止的容器
1
docker container prune
3. 改
- 停止或重启容器
1
2docker stop [容器名或ID]
docker restart [容器名或ID] - 启动已停止的容器
1
docker start [容器名或ID]
- 强制停止容器(类似 kill -9)
1
docker kill [容器名或ID]
- 进入运行中的容器终端
1
docker exec -it [容器名或ID] /bin/bash
- 从容器复制文件到主机
1
docker cp [容器名或ID]:[容器路径] [主机路径]
- 从主机复制文件到容器
1
docker cp [主机路径] [容器名或ID]:[容器路径]
4. 查
- 查看运行中的容器
1
2docker ps
加 -a 选项查看所有容器(包括已停止的)。 - 查看容器的详细信息
1
docker inspect [容器名或ID]
- 查看容器日志
1
2
3
4
5docker logs [容器名或ID]
常用选项:
- -f:实时跟踪日志(类似 tail -f)
- --tail N:显示最后 N 行日志
- -t:显示时间戳 - 查看容器的资源使用情况
1
docker stats [容器名或ID]
