Image Docker运行旧容器,而不是我使用的新容器';m牵引(AWS)

Image Docker运行旧容器,而不是我使用的新容器';m牵引(AWS),image,amazon-web-services,docker,containers,putty,Image,Amazon Web Services,Docker,Containers,Putty,我最近使用Docker将Springboot应用程序部署到AWS 我正在疯狂地尝试更新我的图像/容器。我尝试过删除所有内容、使用过的和未使用过的容器、图像、标签等,然后再次推送所有内容。Docker系统修剪,Docker rm,Docker rmi,也使用不同的帐户。。。它仍然运行该项目的旧版本 这一切都表明在服务器级别发生了一些事情。我在用油灰 非常感谢您的帮助。您所说的旧容器是什么意思?是因为您在某些版本控制中做了一些更改,然后没有在容器上进行更新吗?还是只需重新启动docker容器,我会这

我最近使用Docker将Springboot应用程序部署到AWS

我正在疯狂地尝试更新我的图像/容器。我尝试过删除所有内容、使用过的和未使用过的容器、图像、标签等,然后再次推送所有内容。Docker系统修剪,Docker rm,Docker rmi,也使用不同的帐户。。。它仍然运行该项目的旧版本

这一切都表明在服务器级别发生了一些事情。我在用油灰


非常感谢您的帮助。

您所说的旧容器是什么意思?是因为您在某些版本控制中做了一些更改,然后没有在容器上进行更新吗?还是只需重新启动docker容器,我会

这里有很多要解包的内容,所以如果您能提供更多信息,那就好了。但这里有一个可能的共同点

如果您使用的是任何AWS服务(EKS、Farget、ECS),这些服务仅基于您提供的docker映像。因此,如果您的图像没有正确更新,它们将不会更新

但同样的情况也会发生在docker run上。如果您一直指向同一个图像(或者该图像在概念上没有改变),则不会有任何更改

所以我怀疑问题出在Docker或AWS内部

最有可能

  • 您不是在每次更改后都重新生成spring应用程序二进制文件

  • 您的Dockerfile正在拉入错误的二进制文件

  • 如果您使用的是图像托管服务,如ECR或Nexus,则需要确保图像名称指向正确的image:tag组合。如果更新图像,则应为其提供唯一的标记,然后是Docker/AWS引用的标记图像

  • 构建映像后,可以使用
    docker export | tar-xf-

    这将拉出二进制文件。然后您可以在本地运行它来测试它是否符合您的要求


    您可以使用旧容器查看整个文件系统,我指的是我第一次成功运行docker的项目版本。然后做了一些更改,但没有反映出来,因为每次我运行docker时,都会显示这个旧版本。如果托管在某个服务器上,ssh到服务器,然后cd到您的项目和git pull。尝试再次运行它。您给出了一个特定的示例,说明一系列命令不起作用,您实际看到了什么效果?