使用 docker hub 时如何强制 docker-compose 下载新图像?

How to force docker-compose to download a new image when using docker hub?

我有一个 docker-compose.yml 文件,它从 docker 集线器获取图像 svka4019/notes2:latest。 但是,如果我更改图像构建并推送它,当我 运行 docker-compose 它只使用它之前已经下载的那个。 这是 docker-compose.yml:

springboot-docker-compose-app-container: 
    image: svka4019/notes2:latest
    ports:
      - "80:5001"
    depends_on:
    - friendservice
    networks:
    - mynet
    container_name: base_notes
  friendservice:
    build: ./Pirmas
    command: python app.py
    ports:
    - 5000:5000
    container_name: friend
    networks:
    - mynet
    
networks:
    mynet:

以及我用于构建和 运行ning 的命令:docker-compose up --build -d。 为了更新 docker-hub 中的图像,我使用:

docker build -t svka4019/notes2
docker push svka4019/notes2

如果我将方法用作无缓存,它只会重建 friendService 容器并跳过基础容器。

正如@DazWilkin 在评论中指出的那样,应谨慎使用 latest 标签。如果 latest 出现 BC 中断,它不仅会在您的应用程序中引入错误,而且如果您已经有图像 'latest'.

,它也不表示必须在您的计算机上执行新的更新

在你的情况下,如果你想继续使用最新的,你必须做的就是简单地调用:

docker-compose pull

如果您要构建自己的映像,则必须执行以下操作:

docker-compose build --pull

后者会告诉 docker-compose 在构建自定义映像之前先拉取基础映像。