1. 程式人生 > >Centos7使用docker搭建gitlab服務器

Centos7使用docker搭建gitlab服務器

rtt -name -i passwd dom 資源 版本 pipe 返回

了解到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 rmi ID號 #刪除容器

四、配置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] = [email protected]

設置網絡IP

# 設置網絡IP
pipework br0 gitlab-ce 172.16.81.81/[email protected]

修改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://[email protected]:10022/root/test-docker-gitlab.git

五、web訪問驗證

初始頁面是設置密碼,設置完成後就是一開始看到的效果。

初始用戶名:root

技術分享圖片

Centos7使用docker搭建gitlab服務器