docker安裝中文版gitlab

1.pull中文版鏡像:

docker pull beginor/gitlab-ce:11.3.0-ce.0

2.建立目錄:

    一般會將 GitLab 的配置 (etc) 、 日誌 (log) 、數據 (data) 放到容器以外, 便於往後升級, 所以請先準備這三個目錄。git

mkdir -p /usr/local/gitlab/etc
mkdir -p /usr/local/gitlab/log
mkdir -p /usr/local/gitlab/data

3.修改目錄權限: 

chmod 777 /usr/local/gitlab/etc
chmod 777 /usr/local/gitlab/log
chmod 777 /usr/local/gitlab/dataweb

4.運行:

    準備好這三個目錄以後, 就能夠開始運行 Docker 鏡像了:docker

docker run --detach --publish 8443:443 --publish 8888:80 --publish 8222:22 --name gitlab --restart unless-stopped --volume /usr/local/gitlab/etc:/etc/gitlab --volume /usr/local/gitlab/log:/var/log/gitlab --volume /usr/local/gitlab/data:/var/opt/gitlab --privileged=true beginor/gitlab-ce:11.3.0-ce.0

    --publish 8443:443:將http:443映射到外部端口8443
    --publish 8888:80:將web:80映射到外部端口8888
    --publish 8222:22:將ssh:22映射到外部端口8222
    --name gitlab 運行容器名
    --restart unless-stopped 重啓策略
    --volume /usr/local/gitlab/etc:/etc/gitlab 掛載目錄
    --volume /usr/local/gitlab/log:/var/log/gitlab 掛載目錄
    --volume /usr/local/gitlab/data:/var/opt/gitlab 掛載目錄
    --privileged=true 使得容器內的root擁有真正的root權限。不然,container內的root只是外部的一個普通用戶權限vim

5.訪問:

    稍等片刻,初始化完畢,再打開瀏覽器:ip地址:8888 (http://192.168.2.212:8888/)瀏覽器

    修改密碼爲:123456789,修改完成:使用 用戶名root,密碼爲123456789進行登錄。bash

 

郵件發送配置:

cd /usr/local/gitlab/etc    跳轉至掛載目錄服務器

vim gitlab.rbless

    開啓qq郵箱的POP3/SMTP服務並保存好受權碼:dom

    在gitlab.rb末尾加上:ssh

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "1066394274@qq.com"
gitlab_rails['smtp_password'] = "受權碼"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '1066394274@qq.com'

    進入容器內部:

docker exec -it gitlab bash

    重啓生效:

gitlab-ctl reconfigure

    測試配置是否成功:

gitlab-rails console    進入控制檯

Notify.test_email('1107592245', '郵件標題', '郵件正文').deliver_now     向測試郵箱發送測試郵件

    發送測試郵件:

    發現有一封新的郵件:

    點擊連接:

   此處將

    http://d7136f987efd/users/confirmation?confirmation_token=KWEVNipWBy2DjkFji4-X

    d7136f987efd 置換爲 192.168.2.212:8080

    訪問以後,激活成功。

    生成SSH私鑰:

[root@localhost ~]# ssh-keygen -o -t rsa -C "1066394274@qq.com" -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:DYH3I8KhprEb/N6E0ErkR+Chjes4rwo1orSqhrtOCBE 1066394274@qq.com
The key's randomart image is:
+---[RSA 4096]----+
|E o    ..        |
| * o  o ..       |
|+ + .o o..       |
| =.oo o .oo      |
|+o*=o  .S...     |
|B+*= .           |
|B+.+. .          |
|=+. .o           |
|%=... .          |
+----[SHA256]-----+
[root@localhost ~]# cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDSMr3ihBbSbjXQaJTjxBNiMpExUMz0J4LZ/2xCxYpUWvQs/9pmbhCl7Do9Y8TbebBy3yxUVINB8yIqgKwsX3XnXsE3TEHXKI+/dbrjlxhK49dghT6kyJwsCE1fQ4JbUz8cX7WsYysuOR326Wajdud+e14KGuuozV3ooAfmhBnTqEvj7PULCOMsLD1bftMmNvbeVRW4KSE7wWrdGurD3v5gAPMhfDDAs72g8qApsW0nyunnMd+OyQRtsD7V+y5Tlk3f1pnEE2yTXxYg5REHQhMyrfoH+MHGAHQH226sFQ106Y8IiJPIAs4zL9CTkiz4dPsOmpzyTt5f7RjJhyLUI0rM5StkZsu/bbchgMppQK4/CZtg/rBIygRB0zmisgdDZA2kpfvPmM7MCBFrYdIuutz/HjIkyg8+RnvTDEo0CBgbs1X0Nm3zL7P6MB6RlW4Zsz5fSrn49FH3pylyR2wkkebd86L53p+3117SrBH2FQEYsgwYGpcOBv8ZC3w25+7/ExrCoyx6VRbf4bqsyZ7gsX8sAHsRlEeCpiI1kGZXvYJj5jFoaq3zsDTEwn6miQINJYJVIhOnPUsDHxK7IHLu2Grd/W6EtZaLJ1je4xXpgdMDMe7/HM8rZ0RPXP90xkg/7hXmGLxd+exlp1t9GkjZ5ogQ2ZSyBSMt5oN5oGzUEBjLeQ== 1066394274@qq.com

 

 

    項目path錯誤:

docker exec -it gitlab vim /etc/gitlab/gitlab.rb

 

    修改成當前服務器ip;中止刪除容器:

docker stop gitlab

docker rm gitlab

    重啓系統:

reboot

    運行容器:

docker run --detach --publish 8443:443 --publish 8888:8888 --publish 8222:22 --name gitlab --restart unless-stopped --volume /usr/local/gitlab/etc:/etc/gitlab --volume /usr/local/gitlab/log:/var/log/gitlab --volume /usr/local/gitlab/data:/var/opt/gitlab --privileged=true beginor/gitlab-ce:11.3.0-ce.0

    將內部端口號從80改成和外部端口一致的8888

    此時,使用http和ssh拉取,均能成功:

    

 

升級

    小版本升級(例如從 8.8.2 升級到 8.8.3), 參照官方的說明, 將原來的容器中止, 而後刪除:

docker stop gitlab
docker rm gitlab

    而後從新拉一個新版本的鏡像下來:

docker pull beginor/gitlab-ce:11.3.0-ce.0

    還使用原來的運行命令運行:

docker run 
    --detach 
    --publish 8443:443 
    --publish 8080:80 
    --name gitlab 
    --restart unless-stopped 
    --volume /mnt/sda1/gitlab/etc:/etc/gitlab 
    --volume /mnt/sda1/gitlab/log:/var/log/gitlab 
    --volume /mnt/sda1/gitlab/data:/var/opt/gitlab 
    beginor/gitlab-ce:11.3.0-ce.0

    大版本升級(例如從 8.7.x 升級到 8.8.x)用上面的操做有可能會出現錯誤, 若是出現錯誤能夠嘗試登陸到容器內部, 能夠用 docker exec , 也能夠用 ssh , 依次執行下面的命令:

gitlab-ctl reconfigure
gitlab-ctl restart

 

錯誤處理:

docker 容器提示沒安裝vim:

apt-get update

apt-get install vim

 中止全部的container:

docker stop $(docker ps -a -q)

    刪除全部container:

docker rm $(docker ps -a -q)

相關文章
相關標籤/搜索