安裝部署
首先安裝docker
yum -y install docker
systemctl enable docker
systemctl start docker
查找gitlab版本
docker search gitlab
選擇官方鏡像即可
下載鏡像
docker pull gitlab/gitlab-ce
啓動服務
docker run -itd -v /root:/etc/gitlab -p 80:80 -p 22:22 --name gitlab gitlab/gitlab-ce
下圖可以看到本地22端口已經被佔用,容器無法啓動
不映射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
創建一個測試文件
添加公鑰
查看下載地址,可以看到沒有IP,地址其實是容器的ID
我們需要把地址改爲我們的IP地址,使可以下載
我之前啓動容器的時候,已經通過-v /root:/etc/gitlab 把容器裏面的目錄映射到本地目錄。
編輯配置文件,修改配置
vim /root/gitlab.rb
然後重啓容器
docker restart gitlab
在登錄gitlab查看下項目下載地址,已經變更過來了。
下載試試
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
可以看到http可以下載。這是爲什麼呢,因爲http是通過80端口下載的,ssh是通過22端口下載的,但是22端口沒有映射,就算映射了也被宿主機22端口占用了。
所以我們在來試試,修改gitlab配置,開啓SSH的服務和端口
然後重啓gitlab容器
docker restart gitlab
在登錄gitlab查看下載地址,可以看到地址已經更改了,自動添加了ssh://和222端口
試試下載
還是不行,,爲什麼呢??
因爲之前啓動容器的時候沒有做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地址,重新設置賬號密碼,然後添加一個項目並創建一個文件,別忘了添加客戶端的公鑰。
最後一遍下載測試,不成功的話就該幹啥幹啥去吧!!!
我屮,,可以啦!!!