Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker映像/容器未更新_Docker_Docker Registry - Fatal编程技术网

Docker映像/容器未更新

Docker映像/容器未更新,docker,docker-registry,Docker,Docker Registry,我有一个docker图像,称之为dockerimage/test。每次更新它时,我都会增加一个标记,因此dockerimage/test:1、dockerimage/test:2等等 当我使用docker在本地机器上拉取并运行图像时,效果非常好,我可以看到我对图像所做的更改。然而,我也安装了一个安装了docker的VM,当我在上面拉图像并运行它时,它只显示网站的旧版本(即,图像好像没有更新,尽管docker说它下载了一个新版本) 我想知道我是否在虚拟机上错误地标记了一个映像,即它运行了错误的映像

我有一个docker图像,称之为dockerimage/test。每次更新它时,我都会增加一个标记,因此dockerimage/test:1、dockerimage/test:2等等

当我使用docker在本地机器上拉取并运行图像时,效果非常好,我可以看到我对图像所做的更改。然而,我也安装了一个安装了docker的VM,当我在上面拉图像并运行它时,它只显示网站的旧版本(即,图像好像没有更新,尽管docker说它下载了一个新版本)

我想知道我是否在虚拟机上错误地标记了一个映像,即它运行了错误的映像,因此我尝试删除虚拟机上的所有映像,创建一个新映像(即dockerimage/test:3),然后运行该映像。同样,在我的本地机器上运行良好,只是在我的虚拟机上显示旧版本

我试着清除我的浏览器缓存,编辑文件,创建新的注册表,重新启动机器,这些都没有什么不同

此时,我只想删除与此图像/容器相关的所有内容,并获得一个新版本。但看起来docker在储存一些东西,所以我不能


我知道docker在处理图像方面很“聪明”——它可以识别重复的图像、文件等。但是有没有强制删除图像并重新下载图像的方法,所以它会重新下载所有文件?

从这里描述的问题来看,您似乎没有用新图像创建新的容器


因此,只要升级映像后运行一个新容器即可。您始终可以自动执行此过程。我有连续的部署管道(
bitbucket,ansible
jenkins,ansible
)为我做这件事

我认为您应该尝试使用“--无缓存”来提取docker映像

您可能忘记提到这一点,但为了安全起见,您在创建正确的图像后将图像推送到docker hub?检查您是否误解了
最新的
标记的工作原理:您是否将该图像推送到DockerHub或您当地的docker注册表?感谢您的评论-它位于AWS ECR上。是的,它推好了,因为我可以在AWS中看到它。当拉到一台机器上时,它工作正常。只是不在另一个上。什么
docker ps
显示在虚拟机中?在这里,您可以看到正在容器上运行的图像。检查它是否与您按下的相同。在您的VMS中也执行
docker history
,您可以这样做吗?docker pull(docker pull--help)的帮助中没有这方面的内容,但听起来像是我想要的。@WordName
--无缓存
用于
docker build
而不是
docker pull
。我很抱歉。这是为了使用Dockerfile创建构建。@AniruddhaJawanjal,不用担心!我在docker build上试过,不幸的是没有成功。每次我都会根据新的图像创建一个新的容器(并事先删除旧的),但我敢打赌我会犯一些类似这样的愚蠢错误。还有其他想法吗?很有趣。图像ID如何?您看到每个新标签的图像ID都在变化吗?看起来你只是在重新标记旧图像。如果不是这样,我们将返回调试
docker build
操作。这可能会有所帮助。清理docker[link]()@qasimarfraz,对于最后两个版本,id是相同的,因为底层的网站代码是相同的。我对网站进行了另一次更新,并再次构建。此图像id不同,因此图像id正在正确更改。然而,尽管在不同的机器上构建了相同的图像,但网站没有正确更新-您可以查看我的主要帖子以了解更多信息。@AniruddhaJawanjal,谢谢!我试过“悬挂”的图片,不幸的是,似乎没有帮助。