Gitlab';网关超时';traefik代理背后

Gitlab';网关超时';traefik代理背后,gitlab,docker-swarm,traefik,Gitlab,Docker Swarm,Traefik,所以我尝试在docker swarm上使用traefik作为反向代理来设置gitlab ce实例 这是我的代理堆栈 version: '3' services: traefik: image: traefik:alpine command: --entryPoints="Name:http Address::80 Redirect.EntryPoint:https" --entryPoints="Name:https Address::443 TLS" --defaulte

所以我尝试在docker swarm上使用traefik作为反向代理来设置gitlab ce实例

这是我的代理堆栈

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
错误。当我在gitlab容器中执行
curl localhost
时,它似乎工作正常。不确定问题出在哪里,任何指针都会很受欢迎。结果我所要做的就是将traefik标签,
traefik.docker.network
设置为
traefik-net
,请参见

您的最终docker-compose.yml到底是什么?有点旧,但请查看此处