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

2019-06-17  本文已影响0人  aq_wzj

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 就能使用了

上一篇下一篇

猜你喜欢

热点阅读