首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新创建由其他目录创建的撰写服务

重新创建由其他目录创建的撰写服务
EN

Stack Overflow用户
提问于 2020-07-18 13:24:37
回答 1查看 143关注 0票数 0

我使用多个docker-compose.yaml从传感器启动multiple servicesmount data,在不同的时间内进行后续的数据读取。但是,当我在另一个目录中运行docker-compose up命令时,我发现它会影响我早些时候启动的服务。目录和代码如下:

7-11-am

代码语言:javascript
复制
#  ~/Datasets/7-11/am
version: '3.7'

services:
    sensor-db:
        image: influxdb:1.7.6
        container_name: sensordb-7-11-am
        ports:
            - "8183:8086"
        volumes:
            - $PWD/.influxdb:/var/lib/influxdb

7-11-pm

代码语言:javascript
复制
#  ~/Datasets/7-11/pm
version: '3.7'

services:
    sensor-db:
        image: influxdb:1.7.6
        container_name: sensordb-7-11-pm
        ports:
            - "8184:8086"
        volumes:
            - $PWD/.influxdb:/var/lib/influxdb

7-13 pm

代码语言:javascript
复制
# ~/Datasets/7-13/pm

version: '3.7'

services:
    sensor-db:
        image: influxdb:1.7.6
        container_name: sensordb-7-13-pm
        ports:
            - "8188:8086"
        volumes:
            - $PWD/.influxdb:/var/lib/influxdb

当我使用docker-compose up启动前两个时间段时,它不会发送重新创建问题,并且当我运行服务在7-13下午挂载数据时,我发现坞-组合输出正在重新创建感应器-7-11-pm,然后通过docker ps命令将sensordb 7-11-pm服务替换为sensordb 7-13-pm服务。

这不是我所期望的,the container names of the services是不一样的,但是它们为什么会相互影响?

但我不知道怎么找到相关的问题。

如果你能告诉我为什么会出现这个问题,以及如何解决这个问题,我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-18 14:25:51

Compose有一个项目名称的概念,以及该项目中的服务名称。默认项目名称是保存docker-compose.yml文件的目录的基本名称。在您的例子中,即使您有三个目录和三个docker-compose.yml文件,从Compose的角度来看,您只有两个名为ampm的“项目”。

当您运行"7-13-pm“文件时,组合查找与项目名称pm和服务名称sensor-db匹配的容器。它发现(从sensordb-7-11-pm容器中),因此它替换了它。不管您是否重写了默认的container_name:

解决这个问题的最简单的方法就是重命名目录。而不是7-11/pm7-13/pm,将它们重命名为7-11-pm7-13-pm,删除层次结构层。您还可以设置COMPOSE_PROJECT_NAME环境变量或使用docker-compose -p选项来设置项目名称(在每次docker-compose调用上;这不是我的首选)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62969110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档