現在已經習慣用 Docker Container 管理服務與開發,Docker File 在手希望無窮,不怕機器葛屁,只要檔案有順利備份到雲端,就可以在很短的時間內重建整個系統。今天就示範一下超簡單的 Docker GitLab 安裝教學,其實我不太喜歡建制這種服務,能夠用 SaaS 雲服務還是比較省事的,只是最近實在受不了 Bitbucket 龜速,只好自己建立 GitLab 來管理一些 Private Git Project。而且而且,GitLab 可以發 Pull Request ㄝ,這樣我就可以自己發給自己了… Cool!!
話說 GitHub 被 M$ 收購以後,很多人開始搬家到 GitLab,我到是沒有跟上潮流,Public Project 依然放在 GitHub。
安裝 Docker CE
第一不當然要先安裝 Docker 囉,以 Ubuntu 為範例,透過以下方式安裝最新的版本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
sudo apt-get remove docker docker-engine docker.io
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce
|
透過 Docker 安裝 GitLab
裝好 Docker 之後,就直接執行 GitLab 官方的 image,如下:
sudo docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 \
--name gitlab \
--restart always \
--volume /gitlab/config:/etc/gitlab \
--volume /gitlab/logs:/var/log/gitlab \
--volume /gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
上述我們把 volume 掛出來,平時記得備份這些目錄即可。此外,由於透過 docker-compose 管理 Container 比較炫,所以我們加碼示範一下 Docker Compose。
透過 Docker Compose 安裝 GitLab
我更喜歡透過 Docker Compose 管理一堆常用的 Docker Container,不然 docker 指令好長好長。使用前先安裝 Docker Compose,直接下載執行檔並安裝,方式如下:
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
然後建立好 Compose YAML File (GitHub) 如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
version: '3.2'
services:
gitlab:
image: gitlab/gitlab-ce:latest
hostname: gitlab.example.com
container_name: gitlab
restart: always
volumes:
- /gitlab/config:/etc/gitlab
- /gitlab/logs:/var/log/gitlab
- /gitlab/data:/var/opt/gitlab
ports:
- 443:443
- 80:80
networks:
- devel-net
networks:
devel-net:
|
在檔案目錄下直接輸入「docker-compose up -d」即可啟動服務,啟動後連線進去先設定 GitLab root 帳號的密碼,如下:
接著用 root 帳號加上剛剛的設定密碼進行登入:
順利登入了:
看來超過三秒了~啊掰~