問題記錄:VM-Ubuntu20.04剛開始時使用NAT模式連接,后來改成橋接模式,改完之后原來使用docker啟動的gitlab服務無法克隆,一直提示:fatal...沒有遠程庫什么的,沒解決后來刪除映射目錄和容器、鏡像,重新啟動了新的容器,配置后可以進行ssh克隆但是無法通過http克隆,進行gitlab-ci流水線時提示Failed to connect to 192.168.xx.83 port 80: Connection refused
通過嘗試使用命令:git clone http://192.168.1.83/liutaiqiang/test.git 無法克隆提示:Failed to connect to 192.168.xx.83 port 80: Connection refused
通過嘗試使用命令:git clone http://192.168.1.83:9001/liutaiqiang/test.git 可以進行克隆,在/srv/gitlab/data/gitlab-rails/etc下修改gitlab.yml把端口80改為9001后重啟gitlab服務,又會變回80端口
通過以下方式進行修改,解決了問題
自定義使用的端口
查看容器的ID
wmg@debian:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1132de0d1960 gitlab/gitlab-ce:latest "/assets/wrapper" 19 hours ago Up 2 minutes (healthy) 80/tcp, 443/tcp, 0.0.0.0:8081->8081/tcp, 0.0.0.0:10022->22/tcp gitlab
記住CONTAINER ID
在做操作之前,為了防止意外,先將容器和docker停了
docker stop gitlab // 停止容器,gitlab是容器的名字 systemctl stop docker // 停止docker
我們需要將http的端口改為訪問9001,同時在克隆的時候的地址是對的,gitlab的ssh的端口改為宿主機的8022。
修改宿主機的 /var/lib/docker/containers/容器ID/ 目錄下的config.v2.json,hostconfig.json文件
root@debian:~# cd /var/lib/docker/containers/1132de0d1960e1049a3f1f014b2ba215442a6c7f23f4983b324e055306822c52/ root@debian:/var/lib/docker/containers/1132de0d1960e1049a3f1f014b2ba215442a6c7f23f4983b324e055306822c52# ls 1132de0d1960e1049a3f1f014b2ba215442a6c7f23f4983b324e055306822c52-json.log checkpoints config.v2.json hostconfig.json hostname hosts mounts resolv.conf resolv.conf.hash
config.v2.json

hostconfig.json

Tips:使用vim編輯是如果沒有格式化的話,可讀性會非常差,我是把文件復制到本地用notepad++改的
修改容器內的gitlab配置文件/etc/gitlab/gitlab.rb
因為我將/etc/gitlab映射到了/backup/gitlab/config下了,所以我直接進這個目錄修改gitlab.rb文件,以下幾行參數
external 'http://192.168.88.213:8081' nginx['listen_port'] = 8081 gitlab_rails['gitlab_shell_ssh_port'] = 10022
改好之后將docker和容器啟動就好了
systemctl start docker
docker start gitlab
