小編給大家分享一下Docker-compose如何一鍵部署gitlab中文版,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的龍鳳網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!一、gitlab介紹
gitlab官方地址:https://about.gitlab.com/
GitLab是利用 Ruby on Rails 一個開源的版本管理系統(tǒng),實現(xiàn)一個自托管的Git項目倉庫,可通過Web界面進(jìn)行訪問公開的或者私人項目。它擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和注釋??梢怨芾韴F(tuán)隊對倉庫的訪問,它非常易于瀏覽提交過的版本并提供一個文件歷史庫。團(tuán)隊成員可以利用內(nèi)置的簡單聊天程序(Wall)進(jìn)行交流。它還提供一個代碼片段收集功能可以輕松實現(xiàn)代碼復(fù)用,便于日后有需要的時候進(jìn)行查找。
gitlab就是一個代碼倉庫,能夠非常好地實現(xiàn)對代碼的管理和開發(fā)人員之間的團(tuán)隊協(xié)作。目前應(yīng)用最為廣泛地就是利用jenkins和gitlab實現(xiàn)持續(xù)集成和部署。官方的推薦配置為2核心CPU和4G內(nèi)存,這是因為gitlab的整體運行包含了多個進(jìn)程,如:nginx、postgresql、prometheus、redis等等。
為此,這里使用docker-compose進(jìn)行單機(jī)部署gitlab中文社區(qū)版本,讓大家更好地體會gitlab的強大功能,其余廢話就不多說了,直接開擼就對了??!
二、安裝Docker
1.安裝docker依賴包
[root@gitlab ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
2.添加Docker-ce鏡像源并安裝
1.1)國外源(適合在國外工作的朋友)
[root@gitlab ~]# yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
1.2)國內(nèi)阿里云源(適合在國內(nèi)工作的朋友)
[root@gitlab ~]# yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2)服務(wù)器的包信息下載到本地電腦緩存起來
[root@gitlab ~]# yum makecache fast
3)安裝docker CE
[root@gitlab ~]# yum -y install docker-ce
4)配置下載docker鏡像加速器
國外加速器:
[root@gitlab ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://bc437cce.m.daocloud.io
國內(nèi)阿里云加速器:
vim /etc/docker/daemon.json #輸入下面內(nèi)容并保存: { "registry-mirrors": [https://9w1hl6qt.mirror.aliyuncs.com] }
5)重載systemctl并自動和開啟自啟動docker
[root@gitlab ~]# systemctl daemon-reload [root@gitlab ~]# systemctl start docker [root@gitlab ~]# systemctl enable docker [root@gitlab ~]# docker --version Docker version 18.09.0, build 4d60db4
三、安裝Docker-compose
下載Docker-compose二進(jìn)制文件并添加執(zhí)行權(quán)限
[root@gitlab ~]# curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s-uname -m` -o /usr/local/bin/docker-compose % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 617 0 617 0 0 590 0 --:--:-- 0:00:01 --:--:-- 590 100 11.2M 100 11.2M 0 0 498k 0 0:00:23 0:00:23 --:--:-- 737k [root@gitlab ~]# chmod +x /usr/local/bin/docker-compose [root@gitlab ~]# docker-compose --version docker-compose version 1.23.2, build 1110ad01
四、安裝Gitlab
1)編輯docker-compose的yml文件
[root@gitlab ~]# mkdir gitlab [root@gitlab ~]# cd gitlab [root@gitlab gitlab]# vim docker-compose.yml
version: '2' services: gitlab: image: 'twang2218/gitlab-ce-zh:latest' container_name: "gitlab" restart: unless-stopped privileged: true hostname: 'gitlab' environment: TZ: 'Asia/Shanghai' GITLAB_OMNIBUS_CONFIG: | external_url 'http://ip或者用nginx做反代的域名' gitlab_rails['time_zone'] = 'Asia/Shanghai' gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.163.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "xxxxxx@163.com" gitlab_rails['smtp_password'] = "授權(quán)碼" gitlab_rails['smtp_domain'] = "163.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true gitlab_rails['gitlab_email_from'] = 'xxxxxx@163.com' gitlab_rails['gitlab_shell_ssh_port'] = 22 ports: - '8181:80' - '8443:443' - '22:22' volumes: - /opt/gitlab/config:/etc/gitlab - /opt/gitlab/data:/var/opt/gitlab - /opt/gitlab/logs:/var/log/gitlab
端口映射說明以及注意事項:
gitlab鏡像官方推薦容器80端口映射宿主機(jī)8181端口
gitlab鏡像官方推薦容器443端口映射宿主機(jī)8443端口
gitlab鏡像官方推薦容器22端口映射宿主機(jī)22端口
??頭兩行不能頂頭寫,要分別都空一行,可以去yml文件檢測網(wǎng)站進(jìn)行檢測:
https://www.bejson.com/validators/yaml_editor/
如你們的檢測如下圖所示,則表示yml文件完全無誤:
下面是在我linux服務(wù)器上看到的情況:
2)創(chuàng)建相關(guān)目錄
[root@gitlab gitlab]# mkdir -p /opt/gitlab/{config,data,logs} [root@gitlab gitlab]# ls -l /opt/gitlab/ total 0 drwxr-xr-x 2 root root 6 Dec 22 12:03 config drwxr-xr-x 2 root root 6 Dec 22 12:03 data drwxr-xr-x 2 root root 6 Dec 22 12:03 logs
目錄說明如下:
config 存儲 GitLab 配置信息
data 存儲數(shù)據(jù)庫
logs 存儲日志
3)拉取gitlab中文版鏡像
[root@gitlab gitlab]# docker pull twang2218/gitlab-ce-zh:latest latest: Pulling from twang2218/gitlab-ce-zh 8ee29e426c26: Pull complete 6e83b260b73b: Pull complete e26b65fd1143: Pull complete 40dca07f8222: Pull complete b420ae9e10b3: Pull complete a218309dd589: Pull complete 5c60fd7ba0ce: Pull complete 659c2144b5a3: Pull complete 8289bbac0d0e: Pull complete 31bbd150e8a7: Pull complete 9114e78243fa: Pull complete e242e5cd1314: Pull complete 0a079dc3f92c: Pull complete f0e195b09fd2: Pull complete 6e23346e2f58: Pull complete 91f00659be69: Pull complete a1031bcc5b2c: Pull complete e3074327c7b1: Pull complete a917618dbe42: Pull complete Digest: sha256:62686b74c6fca5ece8ed582d03a126c5988423dd8a19ce70e9a22357ffcaf1c8 Status: Downloaded newer image for twang2218/gitlab-ce-zh:latest [root@gitlab gitlab]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE twang2218/gitlab-ce-zh latest 18da462b5ff5 4 months ago 1.61GB
4)啟動gitlab的容器
在啟動前,先要修改宿主機(jī)的22端口,因為宿主機(jī)占用了22端口,所以啟動容器會失敗,因為映射不過來,修改如下:
vim /etc/ssh/sshd_config
默認(rèn)在第17行修改:Port 2222
修改后,重啟sshd:systemctl restart sshd
[root@gitlab gitlab]# netstat -tulnp | grep 22 tcp 0 0 0.0.0.0:2222 0.0.0.0: LISTEN 31889/sshd tcp6 0 0 :::2222 ::: LISTEN 31889/sshd
正式啟動:
[root@gitlab gitlab]# docker-compose up -d Creating network "gitlab_default" with the default driver Creating gitlab ... done [root@gitlab gitlab]# docker-compose ps Name Command State Ports gitlab /assets/wrapper Up (healthy) 0.0.0.0:22->22/tcp, 0.0.0.0:8443->443/tcp, 0.0.0.0:8181->80/tcp [root@gitlab gitlab]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 814e559dc728 twang2218/gitlab-ce-zh:latest "/assets/wrapper" 5 minutes ago Up 5 minutes (healthy) 0.0.0.0:22->22/tcp, 0.0.0.0:8181->80/tcp, 0.0.0.0:8443->443/tcp gitlab
5)gitlab設(shè)置開機(jī)啟動
[root@gitlab gitlab]# chmod +x /etc/rc.local [root@gitlab gitlab]# ls -l /etc/rc.local lrwxrwxrwx 1 root root 13 Dec 3 14:31 /etc/rc.local -> rc.d/rc.local [root@gitlab gitlab]# echo "cd /root/gitlab && docker-compose up -d" >> /etc/rc.local [root@gitlab gitlab]# tail -1 /etc/rc.local cd /root/gitlab && docker-compose up -d
6)gitlab管理界面
地址:在瀏覽器輸入yml文件的第12行ip或者域名
用戶:root
密碼:首次登陸需要手動設(shè)置密碼
如下圖所示:
以上是“Docker-compose如何一鍵部署gitlab中文版”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。