牧场主,公共子域和nginx

我在一些本地服务器上运行一个完整的CI堆栈,我尝试迁移到Rancher

  1. 首先,我使用docker-compose在一个节点上创build了以下configuration,这看起来完美无瑕(即,我可以通过外部公共子域分别访问每个元素)。
    • jwilder / nginx的代理
    • jrcs / letsencrypt-的nginx代理 – 伴侣:最新
    • registry:2.6.2
    • 牧场主/服务器:最新
  2. 现在,我想通过各自的外部公共子域从全新的牧场主堆栈访问一些元素。 例如, https : //gitlab.example.com,https://jenkins.example.com 。 不幸的是,这是行不通的。

实际上,当我在创build一个堆栈的时候上传了下面docker-compose.yml文件,看起来好像不能和现有的堆栈进行连接,这个堆栈支持rancher本身,基本上我不能访问运行良好:

 version: '2' services: gitlab: image: gitlab/gitlab-ce:latest labels: io.rancher.container.pull_image: always ports: - "27100:80" - "27143:443" - "27122:22" restart: always volumes: - /var/gitlab_volume/config:/etc/gitlab - /var/gitlab_volume/logs:/var/log/gitlab - /var/gitlab_volume/data:/var/opt/gitlab environment: VIRTUAL_HOST: "gitlab.example.com" VIRTUAL_PORT: 80 LETSENCRYPT_HOST: "gitlab.example.com" LETSENCRYPT_EMAIL: "admin@example.com" 

什么是适当的方法?

有关信息,我已经检查过Rancher外部子域名,但在这个阶段,我想用我的nginx服务器作为负载均衡器。

这里最后的docker-compose.yml文件定义:

 version: '2' services: gitlab: image: gitlab/gitlab-ce:latest network_mode: bridge labels: io.rancher.container.pull_image: always ports: - "27100:80" - "27143:443" - "27122:22" restart: always volumes: - /var/gitlab_volume/config:/etc/gitlab - /var/gitlab_volume/logs:/var/log/gitlab - /var/gitlab_volume/data:/var/opt/gitlab environment: VIRTUAL_HOST: "gitlab.example.com" VIRTUAL_PORT: 80 LETSENCRYPT_HOST: "gitlab.example.com" LETSENCRYPT_EMAIL: "admin@example.com" 

我们只需要在每个容器定义上强制使用network_mode。