利用docker部署gitlab忘记进行ssh的端口映射

1. 背景

利用docker部署了gitlab,忘记对ssh的22端口进行映射

docker pull gitlab/gitlab-ce

docker run \
    --detach \
    --publish 80:80 \
    --name gitlab \
    --privileged=true \
    --restart always \
    -v /opt/gitlab/etc:/etc/gitlab \
    -v /opt/gitlab/log:/var/log/gitlab \
    -v /opt/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce
这里只是记录我的配置文件的挂载点,详细使用docker搭建gitlab戳下面
https://www.cnblogs.com/zuxing/articles/9329152.html

然后发现ssh_key之后还是需要输入密码

2. 解决

思路:将服务器的2222端口映射到docker容器的22端口

删除之前的容器,重新run一个容器进行端口映射
docker run \
    --detach \
    --publish 2222:22 \
    --publish 80:80 \
    --name gitlab \
    --privileged=true \
    --restart always \
    -v /opt/gitlab/etc:/etc/gitlab \
    -v /opt/gitlab/log:/var/log/gitlab \
    -v /opt/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce


vi /opt/gitlab/etc/gitlab.rb
添加下面一行内容
gitlab_rails['gitlab_shell_ssh_port'] = 2222
注意这里虽然改了端口为2222,但是端口映射时,还是要映射到容器的22端口
个人猜测这里的修改应该是仅作为复制项目地址时端口变为2222方便操作,如下图


进入容器,执行命令,使其配置生效
docker exec -it gitlab bash
gitlab-ctl reconfigure

退出容器
Ctrl+D
img1.png

这样 git clone ssh://git@192.168.66.66:2222/example/example.git 就能使用了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容