0

这是我想做的事情(我什至不确定在网上寻找什么文档)。

docker run --name userXXX -d ubuntu
docker run --name userYYY -d ubuntu
docker run --name userZZZ -d ubuntu

这样我就可以将root登录分发给容器@域。喜欢:

ssh root@userXXX.somedomain.foo

ssh root@userYYY.somedomain.foo

ssh root@userZZZ.somedomain.foo

这甚至可能吗?我想我需要设置 DNS

somedomain.foo

并将所有主机都放在同一个 docker 网络上(这似乎很合乎逻辑)。我似乎无法弄清楚的问题是 hostname.somedomain.foo => docker container 的正确路由

每个容器都需要它自己的 IP 注册使用该主机/IP 更新 DNS 记录 DNS 需要成为我真实网络上所有机器都知道的 somedomain.foo 的 DNS 授权之一。

有没有人做过这种事情?

如果这个问题更适合超级用户,请告诉我,我可以移动它

4

1 回答 1

1

似乎您可以在一个容器中使用 OpenSSH 代理并使用它来路由到用户的容器。您可以编写代理配置脚本以在添加用户时添加条目。

来自:https ://superuser.com/questions/960666/route-ssh-traffic-based-on-domain-with-haproxy

Host  *.internal.lan
   ProxyCommand ssh -q -A  -x proxy.example.com -W %h:%p

现在,如果您连接到 Host 行中列出的名称,您的 SSH 客户端将首先连接到 proxy.example.com(它必须指向您的公共 IP 地址)并将其用作转发到实际机器的网关。 .

另请参阅:SSH ProxyCommand 示例:通过一个主机到达另一台服务器

于 2016-07-14T03:11:41.817 回答