docker工人:gitlab + traefik&port 22
我需要在Traefik后面build立Gitlb。
一切工作,除了通过命令行的应用程序的身份validation – 我不知道如何通过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代理。
当我尝试:
git push --set-upstream origin master ssh: connect to host git.myserver.com port 10022: Connection refused fatal: Could not read from remote repository.
非常感谢你
Traefik是一个HTTP反向代理,而ssh不是一个HTTP协议。 所以你只需要简单地将容器的ssh端口发布到主机上一个未使用的端口上。
正如BMitch所说,如果不是HTTP,traefik将不会处理TCPstream量。 (SSH不是HTTP)。
看到这个讨论: https : //github.com/containous/traefik/issues/10
我build议你configuration你的networking资料,以便将:22
的stream量直接路由到容器。