阅读量:69
在Ubuntu上更新Docker镜像的完整步骤
1. 准备工作:确认Docker安装与运行状态
在更新镜像前,需确保Ubuntu系统已安装Docker且服务正常运行。通过以下命令检查Docker版本:
docker --version
若未安装Docker,可通过以下命令安装(Ubuntu 22.04及以上版本适用):
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
启动Docker服务并设置开机自启:
sudo systemctl start docker
sudo systemctl enable docker
2. 更新Docker引擎(可选但推荐)
为确保镜像拉取与管理功能正常,建议先将Docker引擎更新至最新版本:
sudo apt update
sudo apt upgrade docker-ce docker-ce-cli containerd.io
3. 拉取最新的Docker镜像
使用docker pull命令从Docker Hub获取镜像的最新版本。以Ubuntu镜像为例:
docker pull ubuntu:latest
若需更新特定版本(如Ubuntu 22.04),可将latest替换为目标标签:
docker pull ubuntu:22.04
执行后,Docker会自动下载镜像的最新层并保存至本地。
4. 验证镜像更新结果
通过docker images命令查看本地镜像列表,确认新镜像已成功拉取:
docker images
输出结果中,CREATED列会显示镜像的创建时间,SIZE列显示镜像大小,可通过对比更新前后的信息确认是否为新版本。
5. 更新正在运行的容器
若已有容器基于旧版镜像运行,需先停止并删除旧容器,再基于新镜像创建新容器:
- 步骤1:列出所有容器(包括停止的):
docker ps -a - 步骤2:停止目标容器(替换
为实际容器ID):docker stop - 步骤3:删除旧容器:
docker rm - 步骤4:基于新镜像创建新容器(以Ubuntu最新镜像为例,后台运行并开启bash交互):
docker run -d --name my_updated_container ubuntu:latest /bin/bash
6. 自动更新Docker镜像(可选)
若需实现镜像自动更新,可使用第三方工具Watchtower。以下是安装与配置步骤:
- 步骤1:创建
docker-compose.yml文件:
添加以下内容(指定Watchtower服务及权限):nano docker-compose.ymlversion: '3' services: watchtower: image: containrrr/watchtower container_name: watchtower volumes: - /var/run/docker.sock:/var/run/docker.sock restart: unless-stopped - 步骤2:部署Watchtower:
Watchtower会自动监控本地镜像,当检测到Docker Hub上有新版本时,自动拉取并更新对应容器。docker-compose up -d
注意事项
- 更新镜像前,建议备份容器中的重要数据(可通过
docker commit保存容器状态为镜像)。 - 若镜像正在被容器使用,需先停止并删除容器,否则
docker pull无法覆盖旧镜像。 - 对于生产环境,建议使用
docker tag为镜像打标签(如my-ubuntu:v1),便于版本管理与回滚。