如何在docker容器中升级nginx版本

如何在docker容器中升级nginx版本,nginx,docker,load-balancing,Nginx,Docker,Load Balancing,我已经建造了6个月的nginx docker容器。Nginx在docker容器中显示: nginx version: nginx/1.9.5 docker图像显示: xxx/nginx80lb_release latest 2228a5d98be7 8 months ago 132.9 MB 以及我以前创建docker映像的dockerfile: FROM nginx:latest 现在,我想升级到最新的nginx1.11.2最新版

我已经建造了6个月的nginx docker容器。Nginx在docker容器中显示:

nginx version: nginx/1.9.5
docker图像显示:

xxx/nginx80lb_release   latest              2228a5d98be7        8 months ago        132.9 MB
以及我以前创建docker映像的dockerfile:

FROM nginx:latest
现在,我想升级到最新的nginx1.11.2最新版本。 我在谷歌上搜索过,但没有运气。我不想重建docker的形象

我该怎么做?请给我一些建议


谢谢大家!

您在这里使用的容器和图像非常松散

如果您想升级一个容器,请运行docker exec-it sh进入容器并在容器外壳中运行您需要的任何命令


如果要升级映像,可以基于映像运行容器,进行与上面相同的更改,然后执行docker提交。

容器基于不可变映像

您不应该升级容器,因为您将无法始终如一地重新创建您的env,这就是关键所在

如果你把你的秘密捆绑在你的图像中。。。你是如何轮换他们/管理他们的,这只是一种非常糟糕的做法


并且:您可以docker cp文件-复制证书。

不确定您为什么不想重建图像。另一种选择是进入容器内部,升级nginx并执行docker提交。docker hub上的最新版本是1.11.1,为什么不直接使用它呢?运行docker pull nginx:latest,您应该会没事。如果我重建docker映像,我必须配置SSL证书、负载平衡器和重要的东西,我不会备份nginx文件。然后您需要使用更好的实践重新配置您的项目。除了一个基本的测试/开发环境之外,您试图做的事情是不可维护的,也没有效率的。@Thanh Nguyen Van哦,不!最好在为时已晚之前,想办法营救容器中的那些重要文件!请记住在后续的start或run命令中使用volume。。。