一步教你Docker安裝搭建GitLab倉庫(用來做SpringCloudConfig配置中心)
Docker 安裝 Git(以下在Centos7上操作,前提是已經安裝過docker)
a:拉取官方的映象
#docker pull gitlab/gitlab-ce:latest
b:執行容器
#docker run --detach \
--publish 8443:443 --publish 8080:80 --publish 2222:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
--hostname
指定容器中繫結的域名,會在建立映象倉庫的時候使用到
--publish
埠對映,冒號前面是宿主機埠,後面是容器expose出的埠
--volume
volume 對映,冒號前面是宿主機的一個檔案路徑,後面是容器中的檔案路徑
c:訪問Git:http://安裝的所在IP:8080
特別注意:
讓gitlab容器執行起來是沒有問題的,但是當在gitlab上建立專案的時候,生成專案的URL訪問地址是按容器的hostname來生成的,即容器的id。
作為gitlab伺服器,當然是需要一個固定的URL訪問地址,於是需要配置gitlab.rb(宿主機上的路徑為:/data/gitlab/config/gitlab.rb)配置檔案裡面的引數
1.進入容器
# docker exec -it gitlab /bin/bash
2.編輯檔案
# vi /etc/gitlab/gitlab.rb
3.修改
# 配置http協議所使用的訪問地址
external_url 'http://10.200.0.100:8080'(記得修改為你自己的ip埠)
nginx['listen_port'] = 80
# 配置ssh協議所使用的訪問地址和埠
gitlab_rails['gitlab_ssh_host'] = '10.200.0.100'(記得修改為你自己的ip)
gitlab_rails['gitlab_shell_ssh_port'] = 2222
備註:以上的埠是對應的publish的埠;
4.重啟配置生效
gitlab-ctl reconfigure
gitlab-ctl restart
docker restart <container name or id>
------------------------------------------------------------------
關於修改Git管理員密碼
重新置管理員root密碼
進入gitlab容器裡面
docker exec -it <container name or id> /bin/bash
# gitlab-rails console production
查詢uid為1的使用者
> user = User.where(id: 1).first
配置密碼為12345678
> user.password=12345678
> user.password_confirmation=12345678
儲存
> user.save!
退出
> quit