docker方式部署gitlab遇到的坑

安裝部署

首先安裝docker

yum -y install docker


systemctl enable docker

systemctl start docker


查找gitlab版本

docker search  gitlab


選擇官方鏡像即可

image.png


下載鏡像

docker pull gitlab/gitlab-ce


啓動服務

docker run -itd -v /root:/etc/gitlab -p 80:80 -p 22:22  --name gitlab gitlab/gitlab-ce


下圖可以看到本地22端口已經被佔用,容器無法啓動


image.png


不映射22端口試試


docker run -itd -v /root:/etc/gitlab -p 80:80   --name gitlab gitlab/gitlab-ce


查看啓動日誌,啓動過程需要一段時間。

docker logs -f gitlab


登錄gitlab

http://192.168.60.133/

首次登錄需要修改密碼


創建一個項目test

image.png

創建一個測試文件

image.png

添加公鑰

image.png


查看下載地址,可以看到沒有IP,地址其實是容器的ID

image.png

image.png

我們需要把地址改爲我們的IP地址,使可以下載

我之前啓動容器的時候,已經通過-v /root:/etc/gitlab 把容器裏面的目錄映射到本地目錄。

image.png

編輯配置文件,修改配置

vim /root/gitlab.rb

image.png

然後重啓容器

docker restart gitlab


在登錄gitlab查看下項目下載地址,已經變更過來了。

image.png


下載試試

git clone [email protected]:root/test.git

git clone ssh://[email protected]:root/test.git

git clone http://192.168.60.133/root/test.git

image.png

可以看到http可以下載。這是爲什麼呢,因爲http是通過80端口下載的,ssh是通過22端口下載的,但是22端口沒有映射,就算映射了也被宿主機22端口占用了。

所以我們在來試試,修改gitlab配置,開啓SSH的服務和端口


image.png

然後重啓gitlab容器

docker restart gitlab

在登錄gitlab查看下載地址,可以看到地址已經更改了,自動添加了ssh://和222端口

image.png

試試下載

image.png

還是不行,,爲什麼呢??

因爲之前啓動容器的時候沒有做ssh端口映射,把222端口映射到容器裏的22端口,再來試試!!

先刪除

docker stop gitlab

docker rm gitlab


最後啓動一遍試試

docker run -itd -v /root:/etc/gitlab -p 80:80 -p 222:22   --name gitlab gitlab/gitlab-ce


登錄gitlab地址,重新設置賬號密碼,然後添加一個項目並創建一個文件,別忘了添加客戶端的公鑰。


最後一遍下載測試,不成功的話就該幹啥幹啥去吧!!!

image.png


我屮,,可以啦!!!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章