在 Ubuntu 上更新 Docker 容器的正确做法
一 核心原则
二 更新容器内 Ubuntu 软件包
docker exec -it <容器名或ID> bash
apt-get update && apt-get upgrade -y
# 如有内核/系统层面更新,建议重启
exit
docker restart <容器名或ID>
docker exec -it <容器名或ID> cat /etc/os-release
三 更新容器镜像版本
docker pull ubuntu:24.04
# 或更新自有应用镜像
docker pull yourorg/myapp:2.0
docker stop <容器名或ID>
docker rm <容器名或ID>
docker run -d \
--name <容器名> \
-p 80:80 \
--restart unless-stopped \
ubuntu:24.04
四 使用 Docker Compose 更新
# 编辑 docker-compose.yml
# image: yourorg/myapp:v1 -> image: yourorg/myapp:v2
# 重新创建并启动(--force-recreate 强制替换容器)
docker compose up -d --force-recreate
五 自动更新与最佳实践
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
nginx mysql redis \
--interval 3600