了解到docker的優點,搭建快,運行要求資源低,最重要的是實現的功能和效果都能達到預期,于是決定使用docker來搭建gitlab服務器。
效果圖如下:
系統環境:CentOS Linux release 7.1.1503 (Core)
git版本:/gitlab/gitlab-ce
一、安裝和啟動docker
安裝:yum -y install docker
啟動:systemctl start docker
開機啟動:systemctl enable docker
二、拉取鏡像文件
docker images #查看鏡像文件,沒拉取之前是沒有任何鏡像的
docker search gitlab #搜索鏡像
本文將下載第一個鏡像。
docker pull docker.io/gitlab/gitlab-ce #下載鏡像,下載完成后
docker images #查看鏡像文件
三、運行gitlab容器
- docker run –name=’gitlab-ce’ -d -p 10022:22 -p 80:80 –restart always –volume /opt/gitlab/config:/etc/gitlab –volume /opt/gitlab/logs:/var/log/gitlab –volume /opt/gitlab/data:/var/opt/gitlab/ gitlab/gitlab-ce
注釋:
–name=”nginx-lb”:為容器指定一個名稱;
-d:后臺運行容器,并返回容器ID;
-p:指定映射端口號,本文是將ssh的22端口映射為10022端口,web訪問的80端口映射為80端口
-volume: 用來指定掛載目錄,將config配置目錄、data數據目錄、logs日志目錄掛載到宿主機上,以后備份方便
最后就是下載的容器名稱
這樣就可以通過docker容器來運行一個gitlab服務器。
docker ps #查看運行的容器
docker stop 名稱或者ID號 #關閉容器
docker start名稱或者ID號 #開啟容器
docker rmiID號 #刪除容器
四、配置gitlab服務器的訪問地址及郵箱
當運行gitlab服務器后,會在映射目錄/opt/gitlab/config/目錄下生成一個配置文件gitlab.rb
編輯gitlab.rb文件
- vim /opt/gitlab/config/gitlab.rb
- # 配置http協議所使用的訪問地址
- external_url 'http://172.16.81.81'
- # 配置ssh協議所使用的訪問地址和端口
- gitlab_rails['gitlab_ssh_host'] = '172.16.81.81'
- gitlab_rails['gitlab_shell_ssh_port'] = 10022
配置郵件
- vim /opt/gitlab/config/gitlab.rb
- # 這里以新浪的郵箱為例配置smtp服務器
- gitlab_rails['smtp_enable'] = true
- gitlab_rails['smtp_address'] = "smtp.xxx.com"
- gitlab_rails['smtp_port'] = 25
- gitlab_rails['smtp_user_name'] = "name4mail"
- gitlab_rails['smtp_password'] = "passwd4mail"
- gitlab_rails['smtp_domain'] = "xxx.com"
- gitlab_rails['smtp_authentication'] = :login
- gitlab_rails['smtp_enable_starttls_auto'] = true
- # 還有個需要注意的地方是指定發送郵件所用的郵箱,這個要和上面配置的郵箱一致
- gitlab_rails['gitlab_email_from'] = 'name4mail@xxx.com'
設置網絡IP
- # 設置網絡IP
- pipework br0 gitlab-ce 172.16.81.81/24@172.16.81.1
修改gitlab.rb配置文件之后,重啟容器。
- # 進入容器
- docker exec -it gitlab-ce bash
- # 重啟gitlab
- gitlab-ctl reconfigure
gitlab上的項目生成的訪問地址如下
- # HTTP
- http://172.16.81.81/root/test-docker-gitlab.git
- # SSH
- ssh://git@172.16.81.81:10022/root/test-docker-gitlab.git
五、web訪問驗證
初始頁面是設置密碼,設置完成后就是一開始看到的效果。
初始用戶名:root
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://www.cnblogs.com/JeremyWYL/archive/2018/04/02/8694978.html