Docker在Ubuntu中如何管理镜像
导读:Docker在Ubuntu中的镜像管理指南 一 基础操作 拉取镜像:从仓库获取所需版本,建议显式指定标签,避免使用不稳定的latest。示例:docker pull ubuntu:22.04。 列出镜像:查看本地镜像的仓库、标签、镜像ID...
Docker在Ubuntu中的镜像管理指南
一 基础操作
- 拉取镜像:从仓库获取所需版本,建议显式指定标签,避免使用不稳定的latest。示例:
docker pull ubuntu:22.04。 - 列出镜像:查看本地镜像的仓库、标签、镜像ID、创建时间与大小。示例:
docker images。 - 查看详情:获取镜像的配置、层信息、架构等。示例:
docker inspect ubuntu:22.04。 - 搜索镜像:在远端仓库查找镜像。示例:
docker search nginx。 - 运行测试容器:基于镜像快速启动一个交互式容器进行验证。示例:
docker run --rm -it ubuntu:22.04 bash。
以上命令覆盖了镜像的获取、查询与验证等日常高频操作。
二 构建与更新
- 通过 Dockerfile 构建镜像:在项目目录执行构建并打标签。示例:
docker build -t myapp:1.0 .。 - 从运行中的容器提交为新镜像:对容器变更做快照式保存。示例:
docker commit < 容器ID> myapp:patched。 - 更新镜像:先拉取最新版本,再按需删除旧镜像或打新标签切换使用。示例:
docker pull ubuntu:22.04。 - 给镜像打标签:为推送与版本管理创建别名(同一镜像ID可对应多个标签)。示例:
docker tag myapp:1.0 myregistry.example.com/myapp:1.0。 - 推送镜像到仓库:登录后推送至Docker Hub或私有仓库。示例:
docker push myregistry.example.com/myapp:1.0。
上述流程覆盖“源码到镜像”“容器到镜像”“版本与分发”的完整链路。
三 导入导出与迁移
- 导出镜像为归档:将镜像保存为本地文件,便于备份与离线传输。示例:
docker save -o myimage.tar myapp:1.0。 - 从归档加载镜像:在目标主机恢复镜像。示例:
docker load -i myimage.tar。 - 适用场景:跨主机迁移、CI 缓存、离线环境部署。
导入导出是镜像在不同主机或环境间迁移的通用方式。
四 清理与删除
- 删除指定镜像:按仓库:标签或镜像ID删除。示例:
docker rmi ubuntu:22.04或docker rmi < IMAGE_ID>。 - 多标签镜像删除规则:同一镜像的多个标签可分别删除,仅当最后一个标签被移除时才会真正删除镜像层。
- 存在容器依赖时:应先停止并删除依赖容器,再删除镜像;不建议用**-f**强制删除。
- 批量清理(谨慎):
- 删除所有容器:
sudo docker rm -f $(sudo docker ps -aq) - 删除所有镜像:
sudo docker rmi -f $(sudo docker images -q)
- 删除所有容器:
- 查看占用:用
docker images与docker ps -a确认对象与依赖关系,再执行清理。
以上做法可安全、可控地回收镜像占用的磁盘空间。
五 加速与配置
- 更换镜像源(Registry Mirrors):编辑或创建 /etc/docker/daemon.json,添加国内镜像加速地址,然后重启 Docker。示例:
- 写入配置:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json < < -‘EOF’
{
“registry-mirrors”: [
“https://docker.m.daocloud.io”,
“https://docker.imgdb.de”,
“https://docker-0.unsee.tech”,
“https://docker.hlmirror.com”,
“https://docker.1ms.run”,
“https://func.ink”,
“https://lispy.org”,
“https://docker.xiaogenban1993.com”
]
}
EOF - 重启服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
- 写入配置:
- 常见用途:提升在国内网络环境下拉取镜像的速度与稳定性。
配置镜像源是提升拉取效率的最简有效手段。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Docker在Ubuntu中如何管理镜像
本文地址: https://pptw.com/jishu/784012.html
