GitLabを社内や開発環境に構築したいと考えていませんか?GitLabは、Gitリポジトリ管理に加え、CI/CDやコードレビュー機能を備えた強力なツールです。本記事では、Linux上のVirtualBox仮想環境でDockerを活用し、GitLabを構築する手順を詳しく解説します。VirtualBoxを使うことで、ローカルPC上に安全なテスト環境を作成でき、Dockerを利用すれば、簡単にGitLabのインストールや管理が可能になります。
この記事を読むことで、以下のことができるようになります:
✅ VirtualBox上にLinux(Ubuntu)をセットアップする方法
✅ Dockerを導入し、GitLabコンテナを構築する手順
✅ GitLabの基本設定とアクセス方法
✅ GitLabの永続化とデータ管理のポイント
それでは、さっそく構築を進めていきましょう!
1. VirtualBoxにLinux環境を構築する
まずは、GitLabを動作させるためのLinux環境をVirtualBox上に構築します。本記事では、比較的扱いやすくサーバー用途にも適した Ubuntu 22.04 LTS を例に説明します。
VirtualBoxのインストール
VirtualBoxは、公式サイト からダウンロードし、インストールしてください。
- VirtualBoxのインストール
- OSに応じたインストーラーを選択し、インストールを実行
- Windowsの場合は、インストーラーを開いて「次へ」を押しながら進めれば完了
- VirtualBox Extension Packの追加(推奨)
- 公式サイトから VirtualBox Extension Pack をダウンロードし、VirtualBoxの「環境設定」→「機能拡張」からインストール
- VirtualBox の公式サイト にアクセスします。
- Downloads ページへ移動します。
- 「VirtualBox Extension Pack」の[Accept and download]をクリックしてダウンロードします。
- VirtualBox を起動 します。
- メニューから [ファイル] → [ツール] → [機能拡張パックマネージャー] を開きます。
- 「+(追加)」ボタン をクリックします。
- ダウンロードした Extension Pack のファイル(.vbox-extpack)を選択 します。
- 「インストール」ボタンをクリック し、ライセンスに同意します。
- 管理者権限の確認が表示されたら「はい」をクリック します。
- これにより、USBサポートやリモート機能が強化されます
- 公式サイトから VirtualBox Extension Pack をダウンロードし、VirtualBoxの「環境設定」→「機能拡張」からインストール
Ubuntuの仮想マシンを作成
次に、VirtualBox上にUbuntuの仮想マシン(VM)を作成します。
- VirtualBoxを起動し、[仮想マシン] → [新規]をクリック
- 設定を以下のように入力
- 名前:
Ubuntu-GitLab
(自由に設定可) - タイプ:
Linux
- バージョン:
Ubuntu (64-bit)
- 名前:
- メモリサイズを4GB(4096MB)に設定(最低2GB以上推奨)
- 仮想ハードディスクを作成
- 種類: VDI(VirtualBox Disk Image)
- ストレージ: 動的割り当て
- 容量: 20GB以上(GitLabのデータ量を考慮すると50GB程度推奨)
- 仮想マシンが作成されたら「設定 > ネットワーク」から割当を「NAT」から「ブリッジアダプター」に変更する。
Ubuntuのインストール
- Ubuntuの公式サイトから「Ubuntu Server」のISOイメージをダウンロード
- VirtualBoxで作成した仮想マシンの「設定」→「ストレージ」ダウンロードしたISOをマウント
- 「ストレージデバイス」のリスト内にある 「空のディスク(Empty)」 をクリックします。
- 右側の CDアイコン(光学ドライブのマーク)をクリックし、「ディスクファイルを選択」 を選びます。
- 先ほどダウンロードした UbuntuのISOファイル を選択します。
- 仮想マシンを起動し、Ubuntuのインストーラーに従ってインストール
インストールが完了したら、以下のコマンドを実行してシステムを最新状態に更新します。
sudo apt update && sudo apt upgrade -y
これでVirtualBox上のUbuntu環境が整いました。次はDockerをインストールし、GitLabを動かす準備を進めます。
💡 詳細な手順は下記記事を参照!!
2. Dockerをインストールしてセットアップする
次に、Ubuntu上にDockerをインストールし、GitLabを動かせる環境を整えます。Dockerを使用することで、簡単にGitLabのセットアップや管理が可能になります。
Dockerのインストール
Ubuntuでは、公式リポジトリからDockerをインストールできます。以下のコマンドを順番に実行してください。
sudo apt update
sudo apt install -y docker.io
インストールが完了したら、Dockerが正常にインストールされたかを確認しましょう。
docker --version
出力例(バージョンは異なる可能性があります):
Docker version 20.10.12, build e91ed57
Dockerサービスの自動起動を有効化
Dockerをシステム起動時に自動で起動するよう設定します。
sudo systemctl enable --now docker
念のため、Dockerの稼働状況を確認しておきましょう。
sudo systemctl status docker
「Active: active (running)」と表示されていれば、正常に起動しています。
非rootユーザーでDockerを実行できるようにする(推奨)
デフォルトでは、Dockerのコマンドを実行するたびにsudo
が必要です。利便性を高めるため、現在のユーザーをdocker
グループに追加しましょう。
sudo usermod -aG docker $USER
変更を適用するため、一度ログアウトし、再ログインしてください。
exit
その後、以下のコマンドでsudo
なしで実行できることを確認します。
docker ps
エラーが出ずに動作すれば、設定は完了です。
Docker Composeのインストール
GitLabをコンテナで動作させるためには、docker-compose
も必要です。以下のコマンドでインストールしましょう。
sudo apt install -y docker-compose
インストール後、バージョンを確認します。
docker-compose --version
出力例:
docker-compose version 1.29.2, build 5becea4c
これでDockerとDocker Composeのセットアップが完了しました。次に、Dockerを使ってGitLabを構築していきましょう。
3. GitLabをDockerコンテナで構築する
ここでは、Dockerを使用してGitLabをコンテナとして構築する手順を解説します。Dockerを使うことで、環境構築が簡単になり、管理やアップデートも容易になります。
GitLab用のディレクトリを作成
まず、GitLabのデータを管理するためのディレクトリを作成し、そこに移動します。
mkdir -p ~/gitlab && cd ~/gitlab
このディレクトリ内に、GitLabの設定ファイルやデータを保存するためのマウントポイントを作成します。
docker-compose.yml
を作成
💡docker-compose.ymlの詳細は下記記事を参照してください!
docker-compose.yml を使った GitLab CE の構築ガイド
GitLabをコンテナとして実行するための設定ファイル docker-compose.yml
を作成します。以下のコマンドを実行してファイルを開きます。
nano docker-compose.yml
以下の内容を記述してください。(タブを利用せずに半角スペースを利用してください。)
⚠️ external_urlは環境によって変わります。(Ubuntuインストール時に設定したIPを下記コマンドで確認してください。
ip addr show
⚠️volumesは絶対パスで記述する必要があります。「hogehoge」は自分の環境に合わせて変更してください。
version: '3'
volumes:
gitlab_data:
gitlab_config:
gitlab_logs:
services:
gitlab:
image: gitlab/gitlab-ce:latest
restart: always
hostname: 'gitlab.local'
environment:
GITLAB_OMNIBUS_CONFIG: "external_url 'http://192.168.1.25'"
ports:
- "80:80"
- "443:443"
- "10022:22"
volumes:
- "gitlab_data:/etc/gitlab"
- "gitlab_config:/var/log/gitlab"
- "gitlab_logs:/var/opt/gitlab"
shm_size: '256m'
この設定では、以下の内容を指定しています。
- GitLabの公式Dockerイメージ (
gitlab/gitlab-ce:latest
) を使用 - ポート設定: HTTP(80), HTTPS(443), SSH(22) を公開
- データの永続化: 設定ファイル、ログ、データをホスト側に保存
⚠️ 記述が終わったら、Ctrl + X
→ Y
→ Enter
で保存して閉じます。
GitLabを起動
以下のコマンドを実行し、GitLabコンテナを起動します。
docker-compose up -d
————
⚠️ ”ERROR”が表示された場合は、内容を確認し「nano docker-compose.yml
」でdocker-compose.ymlを開き記述に誤りがないか確認してください。
compose.ymlを修正した場合は下記でコンテナを再作成してください。
docker-compose down
docker-compose up -d
docker exec -t <コンテナ名:例)gitlab_gitlab_1> gitlab-ctl reconfigure
docker exec -t <コンテナ名:例)gitlab_gitlab_1> gitlab-ctl restart
———–
起動状況を確認するには、以下を実行してください。
docker ps
出力例:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abcd1234 gitlab/gitlab-ce:latest "/assets/wrapper" 5 minutes ago Up 5 minutes 0.0.0.0:80->80/tcp gitlab_gitlab_1
「STATUS」に Up
が表示されていれば、コンテナは正常に稼働しています。
⚠️ 最後の「gitlab_gitlab_1」(環境によって異なります)がコンテナ名です。ログの確認などする場合はコンテナ名を指定する必要があります。
これでGitLabのコンテナが立ち上がりました。次に、Webブラウザでアクセスし、初期設定を行いましょう。
4. GitLabの初期設定とアクセス
GitLabのコンテナが正常に起動したら、Webブラウザからアクセスし、初期設定を行います。
1. GitLabにアクセスする
- Webブラウザを開き、以下のURLにアクセスしてください。
http://10.0.2.15/
※ VirtualBox上のUbuntuにGitLabを構築している場合は、UbuntuのIPアドレス を使用する必要があります。IPアドレスは以下のコマンドで確認できます。
ip a | grep inet
例えば、UbuntuのIPが
192.168.56.101
だった場合、ブラウザでhttp://192.168.56.101
にアクセスしてください。 - GitLabのログイン画面 が表示されたら、次の手順へ進みます。
⚠️アクセスができない場合はエラーログを確認してください。(コンテナ名:gitlab_gitlab_1は環境によって異なる場合があります。)
docker logs gitlab_gitlab_1 | grep -i "error" | less
↑
↓
キーでスクロール/エラーワード
で検索可能q
で終了
2. 初回ログインと管理者パスワードの設定
GitLabを初めてセットアップする場合、管理者(root)の初期パスワード が自動生成されています。以下のコマンドで確認しましょう。
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
出力例:
Password: abc123def456
このパスワードをメモし、ログイン画面で「root」ユーザーとしてログイン してください。
- ユーザー名:
root
- パスワード: 取得した初期パスワード
ログイン後、新しいパスワードを設定 するよう求められるので、任意のパスワードを設定してください。
3. GitLabの基本設定
ログイン後、GitLabの管理画面が表示されます。初期設定として、以下の項目を確認・設定しておきましょう。
✅ ユーザーの追加
管理者以外のユーザーを追加したい場合は、「Admin Area」 → 「Users」 から新規ユーザーを作成できます。
✅ SSHキーの設定
リポジトリをSSH経由で操作する場合、「ユーザー設定」 → 「SSH Keys」 で公開鍵を登録してください。
✅ GitLabのメール通知設定
/etc/gitlab/gitlab.rb
の gitlab_rails['gitlab_email_enabled']
などを設定することで、メール通知機能を有効化できます。
5. GitLabのデータ永続化とバックアップ
Dockerコンテナを使用してGitLabを運用する場合、コンテナの削除や再起動時にデータが消えないようにするためのデータの永続化と、トラブル時のバックアップが重要です。
1. データの永続化
docker-compose.yml
では、GitLabの設定やリポジトリデータをホストマシンにマウントして保存するように設定済みです。
volumes:
- "./config:/etc/gitlab"
- "./logs:/var/log/gitlab"
- "./data:/var/opt/gitlab"
これにより、コンテナを削除・再作成してもデータが失われることはありません。
データが永続化されていることを確認するには、以下のコマンドを実行してください。
ls -l ~/gitlab
出力例:
drwxr-xr-x 2 root root 4096 Feb 22 12:00 config
drwxr-xr-x 2 root root 4096 Feb 22 12:00 logs
drwxr-xr-x 2 root root 4096 Feb 22 12:00 data
これらのディレクトリにデータが格納されていれば、永続化の設定は正しく機能しています。
2. GitLabのバックアップ
定期的にバックアップを取得することで、障害発生時にデータを復元できます。
手動でバックアップを作成
以下のコマンドを実行すると、GitLabのデータをバックアップできます。
docker exec -t gitlab gitlab-backup create
バックアップは data/backups
ディレクトリ内に作成されます。
ls -l ~/gitlab/data/backups/
出力例:
-rw-r--r-- 1 root root 245M Feb 22 12:30 1708590600_2025_02_22_15.0.0_gitlab_backup.tar
作成された .tar
ファイルを外部ストレージやクラウドにコピーしておくと、万が一の際に復元できます。
3. バックアップデータの復元
万が一、GitLabがクラッシュした場合、バックアップを利用してデータを復元できます。
バックアップを復元する手順
- GitLabコンテナを停止
docker-compose down
- バックアップファイルを
/var/opt/gitlab/backups/
に配置cp 1708590600_2025_02_22_15.0.0_gitlab_backup.tar ~/gitlab/data/backups/
- GitLabコンテナを起動
docker-compose up -d
- バックアップのリストア実行
docker exec -t gitlab gitlab-backup restore BACKUP=1708590600_2025_02_22_15.0.0
- GitLabの設定を再適用
docker exec -t gitlab gitlab-ctl reconfigure docker exec -t gitlab gitlab-ctl restart
これで、以前の状態のGitLabを復元できます。
コマンド整理
- データの永続化 は、
docker-compose.yml
でマウント設定することで対応可能 - バックアップの取得 は
gitlab-backup create
コマンドで手動作成できる - バックアップの復元 には、コンテナを停止 → バックアップ配置 → 復元コマンドを実行
定期的にバックアップを取得し、安全な場所に保管することで、万が一の際にも迅速にGitLabを復旧できます。
まとめ
本記事では、VirtualBox上のLinux環境でDockerを使いGitLabを構築する手順を詳しく解説しました。
✅ VirtualBoxにUbuntuをセットアップ
✅ Docker & Docker Composeをインストール
✅ GitLabをDockerコンテナとして構築
✅ Webブラウザでアクセスし、初期設定を実施
✅ データの永続化とバックアップ方法
この手順を活用すれば、ローカル環境や社内ネットワークで安全にGitLabを運用できます。CI/CDパイプラインやユーザー管理の設定も合わせてカスタマイズし、より便利な開発環境を構築してみてください!
コメント