代码之家  ›  专栏  ›  技术社区  ›  Ernest Okot

traefik代理后的Gitlab“网关超时”

  •  16
  • Ernest Okot  · 技术社区  · 7 年前

    这是我的代理堆栈;

    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="freelyformd@gmail.com" --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'] = 'lab@mydomain.com'
            gitlab_rails['gitlab_email_reply_to'] = 'lab@mydomain.com'
        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 错误当我执行时 curl localhost 在gitlab容器中,它似乎运行良好。不确定是什么问题,如果有任何提示,我们将不胜感激

    1 回复  |  直到 7 年前
        1
  •  17
  •   Ernest Okot    7 年前

    结果我所要做的就是给traefik贴上标签, traefik.docker.network traefik-net 看见 https://github.com/containous/traefik/issues/1254