在Ubuntu上更新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
为确保镜像拉取与管理功能正常,建议先将Docker引擎更新至最新版本:
sudo apt update
sudo apt upgrade docker-ce docker-ce-cli containerd.io
使用docker pull命令从Docker Hub获取镜像的最新版本。以Ubuntu镜像为例:
docker pull ubuntu:latest
若需更新特定版本(如Ubuntu 22.04),可将latest替换为目标标签:
docker pull ubuntu:22.04
执行后,Docker会自动下载镜像的最新层并保存至本地。
通过docker images命令查看本地镜像列表,确认新镜像已成功拉取:
docker images
输出结果中,CREATED列会显示镜像的创建时间,SIZE列显示镜像大小,可通过对比更新前后的信息确认是否为新版本。
若已有容器基于旧版镜像运行,需先停止并删除旧容器,再基于新镜像创建新容器:
docker ps -a
<container_id>为实际容器ID):docker stop <container_id>
docker rm <container_id>
docker run -d --name my_updated_container ubuntu:latest /bin/bash
若需实现镜像自动更新,可使用第三方工具Watchtower。以下是安装与配置步骤:
docker-compose.yml文件:nano docker-compose.yml
添加以下内容(指定Watchtower服务及权限):version: '3'
services:
watchtower:
image: containrrr/watchtower
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
docker-compose up -d
Watchtower会自动监控本地镜像,当检测到Docker Hub上有新版本时,自动拉取并更新对应容器。docker commit保存容器状态为镜像)。docker pull无法覆盖旧镜像。docker tag为镜像打标签(如my-ubuntu:v1),便于版本管理与回滚。