fbpx

三秒教你用 Docker 安裝 GitLab

 

現在已經習慣用 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 帳號的密碼,如下:

gitlab init

接著用 root 帳號加上剛剛的設定密碼進行登入:

gitlab login

順利登入了:

gitlab dashboard

看來超過三秒了~啊掰~