gpt4 book ai didi

Docker组成继续替换现有容器

转载 作者:行者123 更新时间:2023-12-03 21:29:49 25 4
gpt4 key购买 nike

我从两个分支使用以下配置获取代码:

docker-compose.yml:

version: '3'
services:
server:
build: .
restart: always
image: XXXXX
entrypoint: ["./run.sh"]
container_name: XXXX
ports:
- 127.0.0.1:8000:8000
volumes:
- .:/app

depends_on:
- redis
redis:
container_name: XXXXX
image: redis:4-alpine

当我 docker 组成第一个分支时,它工作良好,但是当我组成第二个分支时,原始容器成为新的分支容器,我希望两个分支容器同时存在。

当我编写第二个分支代码时,显示以下消息:
Recreating XXXXX_branch2 ... done
Attaching to XXXXX_branch1

最佳答案

Docker compose将容器与项目名称(默认目录名称)以及服务名称或container_name(如果指定)关联。因此,如果两个分支在相同的目录名称下都具有组合文件,因此组合文件将被解释为引用相同的容器,这将导致容器被重新创建。

为了避免这种情况,您可以使用--project-name选项覆盖默认值(目录名)。

docker-compose --project-name branch1 up -d
docker-compose --project-name branch2 up -d

在这种情况下,将创建两个容器。

但是请注意,如果两个撰写文件都设置了相同的 container_name,则会发生冲突,并且第二个容器创建将失败。为了避免这种情况,请使用其他容器名称,或者删除 container_name属性,以获取默认容器名称 <project_name>_<service_name>_1

关于Docker组成继续替换现有容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48557607/

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