- 下載鏡像
docker pull gitlab/gitlab-ce:latest # 拉取最新鏡像
docker pull gitlab/gitlab-ce:11.10.1-ce.0 # 拉取指定版本鏡像(注意要在11.10.1後加上-ce.0纔是完整的tag)
- 查看鏡像
docker images
- 創建容器掛載目錄
cd /data
mkdir gitlab11.10.1
cd gitlab11.10.1
mkdir config
mkdir data
mkdir logs
- 停止正在運行的gitlab容器,以防衝突
docker stop [container_id]
- 使用容器
docker run
--detach
--hostname gitlab11.swufefic.org
--publish 443:443
--publish 80:80
--publish 2222:22
--name gitlab11
--restart always
--volume /data/gitlab11.10.1/config:/etc/gitlab
--volume /data/gitlab11.10.1/logs:/var/log/gitlab
--volume /data/gitlab11.10.1/data:/var/opt/gitlab
gitlab/gitlab-ce:11.10.1-ce.
- 查看容器運行狀態
docker ps
- 訪問Web UI地址,設置root用戶密碼
- 如何獲取/修改超級管理員root的密碼?
需要進入容器docker exec -it <容器名> /bin/bash
a、切換目錄:cd /opt/gitlab/bin
b、執行:sudo gitlab-rails console production
命令 開始初始化密碼
c、在irb(main):001:0>
後面通過u=User.where(id:1).first
來查找與切換賬號(User.all
可以查看所有用戶)
d、通過u.password='12345678'
設置密碼爲12345678
e、通過u.password_confirmation='12345678'
再次確認密碼
f、通過u.save!
進行保存(切記切記 後面的!
)
g、如果看到的true ,恭喜你已經成功了,執行exit
退出當前設置流程即可。
h、回到gitlab ,可以通過 root/12345678 這一超級管理員賬號登錄了
-
數據遷移(兩個docker中的gitlab版本必須一致)
查看gitlab版本需要進入容器內,執行如下命令:
root@gitlab11:/var/opt/gitlab# gitlab-rake gitlab:env:info
-
原有的服務器操作(建議與開發約定時間,停止使用的情況下備份)
- 進入舊容器
docker exec -it [container_id] /bin/bash
- 查看備份設定的備份路徑
root@gitlab11:/var/opt/gitlab# cat /etc/gitlab/gitlab.rb | grep 'backup_path' # gitlab_rails['manage_backup_path'] = true # gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
- 備份源數據到
/var/opt/gitlab/backups
目錄下
root@gitlab11:/var/opt/gitlab# gitlab-rake gitlab:backup:create /var/opt/gitlab/backups/
-
新的服務器操作
- 將備份的源數據包(tar格式)上傳至新的服務器的
/data/gitlab11.10.1/data/backups
目錄下 - 修改文件權限
chown git.git xxx_gitlab_backup.tar
- 進入新容器
docker exec -it [container_id] /bin/bash
- 關閉相關服務
root@gitlab11:/var/opt/gitlab# gitlab-ctl stop unicorn ok: down: unicorn: 1s, normally up root@gitlab11:/var/opt/gitlab# gitlab-ctl stop sidekiq ok: down: sidekiq: 0s, normally up
- 開始恢復(這裏不要寫全名,他會自動拼接)
root@gitlab11:/var/opt/gitlab# gitlab-rake gitlab:backup:restore BACKUP=1553072122_2019_12_10_11.10.1 # 按照提示,都輸入yes即可
- 刷新配置文件
root@gitlab11:/var/opt/gitlab# gitlab-ctl reconfigure
- 重新啓動相關服務
root@gitlab11:/var/opt/gitlab# gitlab-ctl start unicorn ok: run: unicorn: (pid2711)0s root@gitlab11:/var/opt/gitlab# gitlab-ctl start sidekiq ok: run: sidekiq: (pid2803)0s
- 重啓gitlab服務
root@gitlab11:/var/opt/gitlab# gitlab-ctl restart ok: run: alertmanager: (pid4983)1s ok: run: crond: (pid4993)0s ok: run: gitaly: (pid5001)1s ok: run: gitlab-monitor: (pid5014)0s ...... ok: run: gitlab-workhorse: (pid5027)0sok: run: unicorn: (pid5188)0s 登陸WEB頁面查看代碼是否存在
- 將備份的源數據包(tar格式)上傳至新的服務器的
相關資源鏈接地址:
- https://www.jianshu.com/p/08b13806c382
- https://www.cnblogs.com/nulige/articles/9323828.html
- https://blog.csdn.net/gc889900/article/details/88694148
- https://blog.csdn.net/hnmpf/article/details/80518460
- https://www.cnblogs.com/hei-ma/p/9284202.html