Docker容器内NGINX 1.24.0升级至1.25失败,求解决办法
在Docker容器内升级NGINX到1.25版本的解决方案
出现apt-get install nginx提示已安装最新版本的原因是容器默认系统源中没有NGINX 1.25版本,需要替换为NGINX官方源获取主分支版本。以下是具体操作步骤:
- 进入目标容器:
docker exec -it <容器ID> /bin/bash - 安装源配置所需的依赖工具:
apt-get update && apt-get install -y curl gnupg2 ca-certificates lsb-release - 添加NGINX官方GPG密钥,确保包的真实性:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null - 添加NGINX主分支版本的源(以下以Debian系统为例,若容器用Ubuntu可替换源地址中的
debian为ubuntu):echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/debian/ $(lsb_release -cs) nginx" | tee /etc/apt/sources.list.d/nginx.list - 配置源优先级,确保优先使用NGINX官方源的包:
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | tee /etc/apt/preferences.d/99nginx - 更新源并升级NGINX:
apt-get update apt-get install nginx - 验证升级结果:
nginx -v
注意:Docker最佳实践是通过重新构建镜像完成版本升级——基于官方
nginx:1.25镜像,复制你的自定义配置文件。容器内直接修改的方式会导致容器状态不可复用,后续维护成本较高。
内容的提问来源于stack exchange,提问作者Soumodeep Saha
相关产品推荐
相关产品推荐

