当前位置: 首页 > 知识库问答 >
问题:

Docker运行旧图像而不拾取更改

牟飞沉
2023-03-14

我一直被docker困住了,没有找到任何变化。所以我在几天前发布了我的应用程序V1.0.0.0,很明显,因为这是一种预发布,我仍然有一些bug修复要做,目前我已经在V1.0.5.0了。但出于某种原因,每次部署时,它似乎都运行旧映像,而不是包含bug修复的新映像。

当我想重新部署时,我通过删除文件并将新文件放入关闭容器的文件夹来覆盖文件:

docker-compose-f docker-compose.yml-f docker-compose-override.yml down,当一切准备就绪时,我将用以下代码再次启动它们:

docker-compose-f docker-compose.yml-f docker-compose-override.yml up-d

docker rmi$(docker Images-a-q)

这将删除所有内容,然后我将再次启动我的容器,这将启动新的容器。但显然我不会每次都删除所有的图像。

我的webapp包括一个api,blazor中的前端和mvc应用程序,全部在.NET5.0中,以及运行在另一个VM上的生产数据库。

    version: '3.4'

    services:
      portfoliorepositoryapi:
        image: ${DOCKER_REGISTRY-}portfoliorepositoryapi:${TAG:-latest}
        container_name: "PortfolioApi"
        ports:
        - "5100:80"
        - "5101:443"
        - "1433:1433"
        build:
          context: .
          dockerfile: PortfolioRepositoryApi/Dockerfile
    
      portfolio-frontend:
        image: ${DOCKER_REGISTRY-}portfoliofrontend:${TAG:-latest}
        container_name: "PortfolioFrontend"
        ports:
        - "5104:80"
        - "5105:443"
        build:
          context: .
          dockerfile: Portfolio-Frontend/Dockerfile
        volumes:
        -  ./Portfolio-Frontend/Files:/app/Files

      cmsapp:
        image: ${DOCKER_REGISTRY-}cmsapp:${TAG:-latest}
        container_name: "CMSAPP"
        ports:
        - "5102:80"
        - "5103:443"
        build:
          context: .
          dockerfile: CMSApp/Dockerfile

我需要做什么才能让它接收更改?

共有1个答案

沈弘盛
2023-03-14

尝试使用文档中指定的Docker compose Up--build选项。还有一个--force-rereate选项可用,根据工作流的不同,您可能会发现该选项有用,也可能不会有用。

在您的情况下,您的命令类似于:

docker-compose -f docker-compose.yml -f docker-compose-override.yml up --build -d
 类似资料:
  • 编辑:我不感兴趣只是列出文件名,我需要的内容,我想能够比较两个图像,包括文件的内容。

  • 因此,我在eclipse中创建了一个java应用程序,并使用javafx,然后将其导出到一个可运行的jar文件中。但是,当我运行我的。jar文件时,它会给出找不到我的图像的错误。当我在Eclipse内运行时,它工作得非常好。 在UserPane中,我有一个函数将图像名作为“title”并返回ImageView: 我尝试过一些解决方案,但它不会在Eclipse中运行。我需要它在eclipse和.ja

  • 我在一个与Internet没有连接的系统中安装了,所以要用运行映像,我必须从这个系统和另一个系统下载一个简单的映像。然后,我将此映像放在离线系统中的路径: 但当我在cmd中运行时,我会看到以下消息: 并尝试从Internet下载hello-world图像,但它没有连接到Internet所以it领域。现在我想知道我应该把我的图像放在哪里才能让Docker看到?

  • 这个问题很基本,但是我想确定没有比我现在做的更好的方法了。假设我有一个脸书图标。到目前为止,当用户悬停在该图像上时,我会显示不同的图像以更改颜色。有没有一种替代的CSS方法来做到这一点,所以我不使用多个图像? 在下面的小提琴中,我试图改变背景,但这只覆盖了整个图像。 JSFIDLE

  • 当我跑的时候 我还没有最后一张图片——看起来像是第一次运行时的缓存图片。但是我通过name从docker运行这个图像,比如-一切正常。我已经尝试了主题“如何让docker compose始终从新图像重新创建容器”中的所有内容?我还尝试通过docker rmi image_name删除此图像,但没有任何帮助。可能是什么?

  • 我想删除一个本地图像标记(“存储库”/“标记”组合)。有可能吗? 我如何才能在仅与一个图像ID相关联的多个标记中删除任何一个标记而不删除其他标记?在我的情况下,我只想排除hiworld存储库。我可以删除图像,因此也可以删除与之相关联的所有标签,但这不是我想要做的。下面是输入命令docker images时显示的内容。 提前道谢。