現在已經習慣用 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 為範例,透過以下方式安裝最新的版本:
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) 如下:
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 帳號加上剛剛的設定密碼進行登入:
順利登入了:
看來超過三秒了~啊掰~