我们想使用其官方 docker 镜像来设置 gitlab 安装。为了支持通过 SSH 连接到 git 存储库,我们有两个选项。
- 将容器端口22绑定到主机端口22
- 将容器端口 22 绑定到另一个主机端口
如果我们选择解决方案 1,我们将失去通过 SSH 连接到主机的可能性,这是不可接受的。对于解决方案 2,我们可以正确配置 gitlab,以知道向用户显示哪个端口,但连接到 感觉不太方便,ssh://git@githost:1234:user/repo
而不是连接到git@githost:user/repo
。
现在我们认为有可能可以在服务器端配置 openssh,以便始终为特定用户(git)转发/隧道 ssh 连接以连接到 docker 容器。
我们能取得的唯一进展是通过将默认“shell”设置为/etc/passwd
运行docker exec
容器来获得直接连接到容器的登录会话。但由于 git 不会打开登录 shell,因此这对 git 命令不起作用。