GitLab on Docker を構築する

運用している GitLab が古いこともあって、 CentOS 7 (1803) の上で再構築することにしました。
GitLab 本体のバージョンを更新しやすく&サーバー移動するかも、という2点から、 Docker の上に GitLab を動かすことを考えてみました。

CentOS の準備

使用した CentOS は 7 (1804) 64bit です。これは RHEL 7.5 ベースのものとなります。
最新パッケージにすることや、必要最小限に留めたい理由より、 Minimum の構成でインストールしました。
以降の説明は selinux の無効化や、ネットワーク接続は出来ている前提で話を進めます。

まずは以下のコマンドでパッケージを更新しておきます。

Docker 関連の準備

以下のコマンドで Docker をインストールします。インストール後、バージョンを確認したところ 1.13.1 がインストールされたようです。

続いて Docker-Compose をインストールします。
Docker-Compose のページから最新版をインストールしました。
このページにインストール方法も書いてありますが、以下のようなコマンドを実行しました。

ここで Docker を起動しておきます。

GitLabのインストール

こちら(https://gitlab.com/gitlab-org/omnibus-gitlab/)で公開されている docker-compose.yml を使用します。
適当な場所に docker-compose.yml ファイルをダウンロードしておきます。

docker-compose.yml に構築のパラメータが詰まっているので、先に編集します。

サブディレクトリで GitLab を運用したいので、 external_url を編集します。
ポート番号を指定する場合にはここで必要となります。

以下のコマンドで、コンテナを起動させます。初回には、 公式のリポジトリからイメージを取得するため、時間がかかるものと思われます。
この記事を書いているときには、11.2.3 の GitLab のイメージが取得されました。

この docker-compose.yml により、 gitlab のコンテナが動き出します。自分の環境では実行開始してからアクセスが出来るようになるまではしばらく時間がかかりました。
進行状況などのログを見るには以下のコマンドを実行します。

定常状態になったことを確認できたら、ブラウザでアクセスして期待通りの表示が出るかを確認します。
GitLab のログイン画面が表示されるようであれば成功です。

細かな設定など

細かな設定などは docker-compose.yml ファイルを編集することで出来ると思いますが、
自分は /srv/gitlab/config にある gitlab.rb ファイルを編集することにしました。

編集した後は次のコマンドで設定を反映させます。

まとめ

最近 Docker で環境作りばかりやっている気がします。
しかし、かつてはソースやrpmパッケージを入れてサービスを構築していましたが、それが docker-compose で入るようになってきて導入が色々と楽になってきたように思います。環境が閉じているので、いざというときには稼働インスタンスも変更させやすいですし、いい時代になりました。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする