2017-09-21 8 views
0

私はローカルサーバー上で完全なCIスタックを実行していました。Rancherに移行しようとしています。ランチャー、パブリックサブドメイン、nginx

  1. まず、I(すなわち、Iは、外部公衆サブドメインを介して別々 に各要素にアクセスすることができる)完全に実行に思わ ドッカー-COMPOSEとつのノード上で、以下の構成を作成しました。
    • jwilder/nginxのプロキシ
    • 日本赤十字社/ letsencrypt-nginxのプロキシ・コンパニオン:最新
    • レジストリ:2.6.2
    • 牧場/サーバー:今すぐ最新
  2. 、私が欲しいです を介して新しいランチャスタックからいくつかの要素にアクセスすることができます。例えば、 https://gitlab.example.com,https://jenkins.example.com。残念ながら、それは動作しません。スタックを作成するときに、私は次のようdocker-compose.ymlファイルをアップロードする際

は実際に、それは既存のスタック、自身を牧場主と基本的にサポートするものとの接続を行うことができないように、私はサービスにアクセスすることはできません見えます

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: "[email protected]" 

適切なアプローチは何ですか。

私はすでにRancher external subdomainsをチェックしていますが、この段階ではロードバランサとして自分のnginxサーバーを使用したいと考えています。ここで

+1

1つのスタックが作成する問題は、別のネットワークで 'jwilder/nginx-proxy'を実行し、別の作成は別のネットワークで実行されます。したがって、既存のスタックのネットワークでgitlabを実行する必要があります。私はあなたに特定の指示を与えるためにランチャーがインストールされていませんが、問題を理解すれば、それを修復する方法を知っています –

+0

ネットワークモードを大いに助けます!私は両方のdocker-compose.ymlファイルでネットワークモードを強制しています。どうもありがとう! –

+0

詳しい手順を回答として投稿し、それを受け入れますか? –

答えて

0

最終ドッカ-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: "[email protected]" 

は、私達はちょうど、各コンテナの定義にnetwork_modeを強制する必要があります。

関連する問題