WSLのAlmaLinuxにDocker Compose を使用して GitLab をインストールする

目次

はじめに

Docker Compose を使用して GitLab をインストールしてみたので作業ログを残しておきます。
作業環境はWSLのAlmaLinux9です。
rpmベースでGitLabを構築するよりも、断然作業量が少なく一瞬で構築できますね。

事前準備

Docker-composeをインストール

リポジトリ設定をし、パッケージをインストールします。
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
Adding repo from: https://download.docker.com/linux/rhel/docker-ce.repo
$ sudo dnf install docker-compose-plugin



Installed:
docker-buildx-plugin-0.23.0-1.el9.x86_64 docker-compose-plugin-2.35.1-1.el9.x86_64
Complete!

docker composeがインストールされ、バージョンが表示されることを確認します。
$ docker compose version
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Docker Compose version v2.35.1

ホームディレクトリ作成

gitlabのインストール先ディレクトリを作成します
$sudo mkdir -p /srv/gitlab
$ ls -l /srv/
total 4
drwxr-xr-x 2 root root 4096 May 17 15:12 gitlab

docker composeでGItLabインストール

docker-compose.yaml ファイルを作成

image は DockerHUB https://hub.docker.com/r/gitlab/gitlab-ce/tagsで最新バージョンを確認します。
$ cat docker-compose.yaml
services:
gitlab:
image: 'gitlab/gitlab-ce:18.0.0-ce.0'
container_name: gitlab
hostname: '172.21.15.217'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://172.21.15.217:8080'
nginx['listen_port'] = 80
ports:
- '8080:80'
- '2222:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
shm_size: '256m'

dokecr-compose up -d でGitLabを起動する

docker-composeをroot権限で実行するためにGitLabのホームディレクトリパスを環境変数に設定して実行します。
$ sudo env GITLAB_HOME=/srv/gitlab docker compose up -d
[+] Running 1/1
✔ Container gitlab Started 0.4s

イメージがローカルにpullされていない状態では時間がかかります。
gitlab-ce:18.0.0-ce.0のイメージは約3.7GBでした。

STATUSが healthy になるまで待ちます。体感2,3分で starting から helathy になりました。
$ sudo podman ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
43f76ca95065 docker.io/gitlab/gitlab-ce:18.0.0-ce.0 /assets/init-cont… 11 seconds ago Up 11 seconds (starting) 0.0.0.0:2222->22/tcp, 0.0.0.0:8080->80/tcp, 22/tcp, 80/tcp, 443/tcp gitlab


unhealty になる場合
メモリ容量が不足している可能性があります。
ドキュメントでは、最小推奨 4GB メモリと記載がありましたが、VM で試したときは 8GB 積んでやっと healthy になりました。

Exited になる場合
gitlabコンテナのログを確認します。
$ sudo podman logs gitlab
私の場合はパーミッション不足のエラーが出ていました。一般ユーザー docker compose を実行したところ、GitLaBホームディレクトリへの書き込み権限が不足していたためです。

GitLabにログイン

GitLabにアクセス

external_url に設定したURLにアクセスします。
STATUS が starting の間は、アクセスしても 502 エラーが表示されます。

rootアカウントでログイン

rootでログインします。GitLab のホームディレクトリ配下に root アカウントのパスワードが記載されているファイルがあります。(/srv/gitlab/config/initial_root_password)
$ pwd
/srv/gitlab/config | grep root
$ ls -l
-rw------- 1 root root 749 May 17 16:38 initial_root_password

おわりに

今回、WSL の AlmaLinux を使用して GitLab を構築してみましたが、VM の作成が不要だったため短時間でインストールできました。コンテナのメリットを実感できる体験となりました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次