如何在启用集群的情况下使用traefik工作两个单独的docker-compose文件

时间:2020-01-22 14:28:47

标签: docker-compose docker-swarm traefik

我有两个不同的docker-compose文件,它们具有不同的服务(项目空间),我想在同一个集群上运行,因为我想使用traefik作为反向代理,我该怎么做?

1 个答案:

答案 0 :(得分:1)

在部署到群之前,您必须使用公共映像注册表并预先构建映像:

第一个撰写文件:

services:
    my_service:
        build: ./my_service
        image: my-registry-host/my_service:latest
        ...

第二个撰写文件:

services:

    my_other_service:
        build: ./my_other_service
        image: my-registry-host/my_other_service:latest
        ...
    my_service:
        image: my-registry-host/my_service:latest
        ...

    traefik:
        image: traefik:v2.0
        ...

在第一个文件中构建服务时,它们会上载到您的通用注册表 my-registry-host 。当您部署第二个文件时,您会看到该映像将从公共注册表中获取,并且堆栈按预期运行。