Ubuntu Docker中镜像如何更新
小樊
39
2025-11-16 20:09:06
Ubuntu Docker 镜像更新指南
一 更新本地 Ubuntu 基础镜像
- 确认 Docker 服务可用:sudo systemctl status docker(未运行则执行:sudo systemctl start docker)。
- 拉取最新镜像:docker pull ubuntu:latest(如需指定版本:docker pull ubuntu:22.04)。
- 验证是否更新成功:docker images | grep ubuntu 或 docker inspect ubuntu:latest 查看镜像摘要与更新时间。
二 更新正在运行的容器内的软件包
- 进入容器:docker exec -it <container_name> /bin/bash。
- 更新索引与升级:apt-get update && apt-get upgrade -y(如提示找不到命令,先安装基础工具:apt-get install -y ca-certificates curl wget sudo)。
- 可选重启:docker restart <container_name>;验证:docker exec <container_name> cat /etc/os-release。
三 替换运行中的容器以使用新镜像
- 停止并删除旧容器:docker stop <container_id>;docker rm <container_id>。
- 基于新镜像启动:docker run -d --name <new_name> ubuntu:latest [你的启动命令]。
- 如需保留数据,使用数据卷或绑定挂载将关键目录持久化。
四 进阶 将更新后的容器保存为新镜像
- 在容器内完成配置与升级后,提交为新镜像:docker commit <container_id> my-ubuntu:updated。
- 后续可直接基于 my-ubuntu:updated 启动,或推送到仓库:docker tag my-ubuntu:updated /:;docker push /:。
五 常见问题与建议
- 区分“更新镜像”和“更新容器内软件”:前者用 docker pull 获取新层,后者用 apt 在容器内升级;两者可结合使用。
- 避免使用 latest 在生产环境漂移,建议固定版本标签(如:ubuntu:22.04)。
- 清理无用镜像节省空间:docker image prune -a;删除单个镜像可用 docker rmi <image_id|repository:tag>。