2017-10-11 113 views
2

所以我想在docker swarm上使用traefik作爲反向代理來設置一個gitlab-ce實例。Gitlab'網關超時'後面traefik代理

這是我的代理棧;

version: '3' 

services: 
    traefik: 
    image: traefik:alpine 
    command: --entryPoints="Name:http Address::80 Redirect.EntryPoint:https" --entryPoints="Name:https Address::443 TLS" --defaultentrypoints="http,https" --acme --acme.acmelogging="true" --acme.email="[email protected]" --acme.entrypoint="https" --acme.storage="acme.json" --acme.onhostrule="true" --docker --docker.swarmmode --docker.domain="mydomain.com" --docker.watch --web 
    ports: 
     - 80:80 
     - 443:443 
     - 8080:8080 
    networks: 
     - traefik-net 
    volumes: 
     - /var/run/docker.sock:/var/run/docker.sock 
    deploy: 
     placement: 
     constraints: 
      - node.role == manager 

networks: 
    traefik-net: 
    external: true 

而且我gitlab棧

version: '3' 

services: 
    omnibus: 
    image: 'gitlab/gitlab-ce:latest' 
    hostname: 'lab.mydomain.com' 
    environment: 
     GITLAB_OMNIBUS_CONFIG: | 
     external_url 'https://lab.mydomain.com' 
     nginx['listen_port'] = 80 
     nginx['listen_https'] = false 
     registry_external_url 'https://registry.mydomain.com' 
     registry_nginx['listen_port'] = 80 
     registry_nginx['listen_https'] = false 
     gitlab_rails['gitlab_shell_ssh_port'] = 2222 
     gitlab_rails['gitlab_email_from'] = '[email protected]' 
     gitlab_rails['gitlab_email_reply_to'] = '[email protected]' 
    ports: 
     - 2222:22 
    volumes: 
     - gitlab_config:/etc/gitlab 
     - gitlab_logs:/var/log/gitlab 
     - gitlab_data:/var/opt/gitlab 
    networks: 
     - traefik-net 
    deploy: 
     labels: 
     traefik.enable: "port" 
     traefik.frontend.rule: 'Host: lab.mydomain.com, Host: registry.mydomain.com' 
     traefik.port: 80 
     placement: 
     constraints: 
      - node.role == manager 

    runner: 
    image: 'gitlab/gitlab-runner:v1.11.4' 
    volumes: 
     - gitlab_runner_config:/etc/gitlab-runner 
     - /var/run/docker.sock:/var/run/docker.sock 

volumes: 
    gitlab_config: 
    gitlab_logs: 
    gitlab_data: 
    gitlab_runner_config: 

networks: 
    traefik-net: 
    external: true 

traefik-net是覆蓋網絡

所以,當我部署使用docker stack deploy並參觀lab.mydomain.com,我得到的Gateway Timeout錯誤。當我在gitlab容器內執行curl localhost時,它似乎工作正常。不知道是什麼問題,任何指針將不勝感激

回答