为Docker容器中运行的gitlab添加ssh的一些问题记录

Posted 梦中彩虹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为Docker容器中运行的gitlab添加ssh的一些问题记录相关的知识,希望对你有一定的参考价值。

最近做的一个东西,是将gitlab10.x的汉化版本,从源码编译(在源码中自己定制一些东西),然后制作成Docker镜像,作为Docker容器来运行
在启用容器中的gitlab的ssh的时候,遇到了一些问题,在这里记录一下:

网络的问题:
gitlab是在容器中运行,但是我们使用git访问的时候,用的是 [email protected]主机域名:用户名/仓库名的方式来访问的,这就带来了一个问题: 客户端用ssh访问的时候,访问到的是Docker主机的22端口,而不是容器中的22端口, 解决的方法是:将主机的ssh端口改为别的,然后,容器启动的时候,将容器的22端口映射道主机的22端口,当然,Docker主机所在的22端口要确保最终用户能够访问的到

gitlab-shell的问题:

gitlab-shell如果配置错误,也是不能使用ssh来提交代码的,gitlab-shell的配置主要是把config.yml.example重命名为 config.yml 然后把其中的gitlab的访问地址修改成为正确的地址(默认是http://localhost:8080),gitlab-shell调用gitlab的api的时候,会用到这个地址

gitlab-shell的主页是:https://github.com/gitlabhq/gitlab-shell

它的作用是: 处理gitlab的git命令和处理授权的秘钥列表,当我们增加了一个ssh秘钥的时候,gitlab会将秘钥的信息写入到 git用户的.ssh文件夹下的authorizedkeys文件里

以上是关于为Docker容器中运行的gitlab添加ssh的一些问题记录的主要内容,如果未能解决你的问题,请参考以下文章

上传本地项目到docker运行的gitlab容器中

docker部署gitlab改端口

docker常见问题

使用 Maven 在 gitlab 中运行(Docker)测试容器

使用 Gitlab CI 时如何设置 docker 容器的主机名

Docker-为镜像添加SSH服务