2017-07-19 8 views
0

私は本当にドッカーネットワークでtraefikを使用する方法を知りません。Docker NetworksのTraefik

私は "漢方"かんばんを実行しようとしています。私がホストするためにポートをバインドすると、それは完全に動作するので、本当にtraefikを通してそれを扱っています。ここに私のドッキングウィンドウ-configがある:

version: '2' 

services: 

wekandb: 
    image: mongo:3.2.14 
    container_name: wekan-db 
    command: mongod --smallfiles --oplogSize 128 
    networks: 
    - wekan-tier 
    expose: 
    - 27017 
    volumes: 
    - wekan-db:/data/db 
    - wekan-db-dump:/dump 

wekan: 
    image: wekanteam/wekan:latest 
    container_name: wekan-app 
    networks: 
    - wekan-tier 
# ports: 
#  - 8081:80 
    environment: 
    - MONGO_URL=mongodb://wekandb:27017/wekan 
    - ROOT_URL=https://wekan.domain.com 
    depends_on: 
    - wekandb 
    labels: 
    - "traefik.port=80" 
    - "traefik.backend=wekan" 
    - "traefik.frontend.rule=Host:wekan.domain.com" 
    - "traefik.docker.network=wekan_wekan-tier" 
volumes: 
wekan-db: 
    driver: local 
wekan-db-dump: 
    driver: local 

networks: 
wekan-tier: 
    driver: bridge 

私も、だけでなく、それは私がWekanを実行することができます、あなたの答えは非常に理解されるであろう...こいつにアクセスする方法を見つけるように見えることはできませんDocker Networksの代わりにリンクする - リンクを使用していた古いサービスを更新する - リンクは廃止されました。

答えて

1

ここに複数の問題があると思います。

最初に、あなたが作成したサービスでは、Traefikサービスはありません.Traefikはサービスからコンテナを見ることができますが、Traefikサービスとwekanサービスは同じネットワークを共有しません。

したがって、Traefikの特定のネットワークを作成し、作成ファイルに設定する必要があることを修正します。

例:

$ docker network create traefik-net 
$ docker service --name traefik --network traefik-net .... traefik .... 

第二に、あなたはTraefikがあなたのサービスとの接続に使用するネットワークを定義する必要があり、このネットワークはTraefikサービスで1を共有する必要があります。

wekan: 
    image: wekanteam/wekan:latest 
    container_name: wekan-app 
    networks: 
    - wekan-tier 
    - traefik-net 
    environment: 
    - MONGO_URL=mongodb://wekandb:27017/wekan 
    - ROOT_URL=https://wekan.domain.com 
    depends_on: 
    - wekandb 
    labels: 
    - "traefik.port=80" 
    - "traefik.backend=wekan" 
    - "traefik.frontend.rule=Host:wekan.domain.com" 
    - "traefik.docker.network=traefik-net" 

だからあなたwekanサービスは、このようにする必要があります

関連する問題