gpt4 book ai didi

运行旧图像的 Docker 没有获取更改

转载 作者:行者123 更新时间:2023-12-04 07:57:26 24 4
gpt4 key购买 nike

我一直被 docker 困住,没有发现任何变化。
所以几天前我发布了我的应用程序 v1.0.0.0 并且显然因为它是一种预发布我仍然有一些错误修复要做,目前我已经在 v1.0.5.0。但是出于某种原因,每次我部署它时似乎都在运行一个旧镜像,而不是其中包含我的错误修复程序的新镜像。
首先,我暂时不使用 ci/cd 管道,只是手动进行所有操作(仍在学习)
我做什么来运行:
所以我跑 docker-compose -f docker-compose.yml -f docker-compose-override.yml up -d这有效
当我想重新部署时,我通过删除文件并将我的新文件放在文件夹中来覆盖我的文件
我关闭我的容器: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 images list 时我什么也没得到
我可以通过删除所有内容来解决这个问题:docker rmi $(docker images -a -q)这会删除所有内容,然后我将再次启动我的容器并启动新的容器。
但显然我不会每次都删除我所有的图像。
我的 webapp 包含一个 api、blazor 中的前端和 .net5.0 中的 mvc 应用程序以及在另一个虚拟机上运行的生产数据库。
我的作文:

    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
我需要做什么才能让更改生效?

最佳答案

尝试使用 --build docker compose up 的选项,如 the docs 中所述.还有一个--force-recreate选项可用,根据您的工作流程,您可能会或可能不会觉得有用。
在您的情况下,您的命令将类似于:

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

关于运行旧图像的 Docker 没有获取更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66628590/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com