Docker-Docker Compose停止公司级别的服务,而不是基本服务

问题描述 投票:0回答:1

我有像redis和mongodb这样的基本服务,它们将共享同一图像的多个容器。

一旦客户请求新公司,我们将使用新端口为所请求公司创建新的docker-compose文件,并配置apache指向新的Web端口。

使用基本服务启动公司1服务

docker-compose -f docker-compose.base.yml -f docker-compose-company-1.yml up -d

公司2的相同方法

docker-compose -f docker-compose.base.yml -f docker-compose-company-2.yml up -d

这将为基本服务和共同服务创建实例,以及为公司传递的配置。

同时关闭公司1服务

docker-compose -f docker-compose.base.yml -f docker-compose-company-1.yml down

这也会降低基本服务,但公司2所需的基本服务

如果我们通过follwong命令

docker-compose -f docker-compose-company-1.yml down

抛出错误错误:服务“ company-1”具有未定义的服务“ mongodb-service”的链接。

docker-compose可以解决我们的问题吗?

如何使用docker compose down来关闭特定的copmany服务而不是基础服务

有关docker-componse文件的更多信息

docker-compose.base.yml服务

  • mongodb-service
  • 重新提供服务
  • 一般crons服务
  • web-master-service
  • 主服务器服务

docker-compose-company-1.yml服务

  • web-service-company-Angular APP
  • crons-company-services-公司的Crons
  • mongodb-company-公司级mongodb
  • 与主机进行通信-查看来自主机服务的请求
  • company-server-server-用于Web api调用的公司服务器
docker docker-compose devops software-design
1个回答
0
投票

您可以在docker-compose中使用extends:选项来解决此问题

docker-compose-base.yml

services:
    base:
    image:
    container_name:
    ports:

docker-compose-customer.yml

services:
   custom:
    image:
    container_name:
    ports:

[使用基础和客户的服务创建新的撰写文件

extends docker-compose选项>>

docker-compose-base-customer.yml

services:
    base:
    extends:
    file: docker-compose-base.yml
    service: base

   custom:
    image:
    container_name:
    ports:

您可以使用docker-compose-base-customer.yml来运行基础服务和客户服务

docker-compose -f docker-compose-base-customer.yml up

并使用docker-compose-customer.yml仅关闭客户服务

docker-compose -f docker-compose-customer.yml down
© www.soinside.com 2019 - 2024. All rights reserved.