【问题标题】:docker: gitlab + traefik & port 22码头工人:gitlab + traefik & 端口 22
【发布时间】:2017-07-08 23:11:55
【问题描述】:

我需要在 Traefik 后面设置 Gitlb。

除了通过命令行对应用程序进行身份验证外,一切正常 - 我不知道如何通过 traefik 公开端口 22。

知道如何设置吗?如何暴露 docker 容器的 22 端口(通过 traefik)?

我将默认端口从 22 更改为 10022。

我是通过netstat -tulpn获取的

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1132/sshd           
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      1126/systemd-resolv 
tcp6       0      0 :::22                   :::*                    LISTEN      1132/sshd           
tcp6       0      0 :::443                  :::*                    LISTEN      1590/docker-proxy   
tcp6       0      0 :::10022                :::*                    LISTEN      1440/docker-proxy   
tcp6       0      0 :::5355                 :::*                    LISTEN      1126/systemd-resolv 
tcp6       0      0 :::80                   :::*                    LISTEN      1602/docker-proxy   
tcp6       0      0 :::8080                 :::*                    LISTEN      1578/docker-proxy   
udp        0      0 127.0.0.53:53           0.0.0.0:*                           1126/systemd-resolv 
udp        0      0 0.0.0.0:68              0.0.0.0:*                           864/dhclient        
udp        0      0 0.0.0.0:5355            0.0.0.0:*                           1126/systemd-resolv 
udp6       0      0 :::5355                 :::*                                1126/systemd-resolv 

我不明白为什么 10022 连接到 docker-proxy。

当我尝试时:

git push --set-upstream origin master
ssh: connect to host git.myserver.com port 10022: Connection refused
fatal: Could not read from remote repository.

非常感谢

【问题讨论】:

  • 请包含您的docker run 命令或docker-compose.yml 文件。

标签: docker gitlab traefik


【解决方案1】:

Traefik 是一个 HTTP 反向代理,而 ssh 不是一个 HTTP 协议。因此,您只需在主机上未使用的端口上发布容器的 ssh 端口即可。

【讨论】:

  • 确实如此。我要更新这个问题 - 暴露端口 22 就像我预期的那样给出“端口已分配”。我设置了1022端口..请检查上面的问题。
【解决方案2】:

正如 BMitch 所说,如果不是 HTTP,traefik 将不会处理 TCP 流量。 (SSH 不是 HTTP)。

查看此讨论:https://github.com/containous/traefik/issues/10

我建议你配置你的网络,以便将:22 的流量直接路由到容器。

【讨论】:

    猜你喜欢
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    • 2022-06-30
    • 1970-01-01
    • 2017-02-01
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    相关资源
    最近更新 更多