GitLabのDockerイメージのメリット
- PostgreSQL、Nginx等のGitLabの動作に必要なミドルウェアが一つのコンテナに入っているので構築が楽
- Docker環境さえあればすぐに起動して利用できるので小さなプロジェクト管理や一時的なGitリポジトリとして使える。
GitLabのDockerイメージのデメリット
- 一つのコンテナでWebもDBも含んでいるためユーザーが多数いるような大規模環境では使えない。
入手法
下記のGitLabの公式ページからGitLabのDockerイメージを入手できます。
https://docs.gitlab.com/omnibus/docker/
インストール前提条件
Dockerがインストールされていること。
インストール手順
下記コマンドを実行します。
1 2 3 4 5 6 7 8 9 |
sudo docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish 22:22 \ --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 |
--publish 443:443 --publish 80:80 --publish 22:22
SSH、HTTP、HTTPSのポートに対してDockerホスト側からアクセスできるよう設定します。GitLabの管理ポータルへのアクセスやコマンドライン接続等の用途で使えます。
--volume ローカルのパス:Docker上ホストパス
Dockerホスト上に生成されるGitLabの設定ファイルや、ログファイル等がローカルのストレージ上に保存されるようにする設定です。Dockerコンテナが停止した場合でもコンテンツを保持しておくことが可能になります。
Docker Hubとは?
Docker社が管理しているDockerレジストリです。ユーザーはDockerレジストリにログインすれば自分で作成したDockerイメージを全世界に公開して使ってもらうことが可能になります。(ちなみに、世界に公開されているDockerイメージを利用するだけの用途であればサインアップしなくても可能です。)、Docker Hubを利用すればDockerイメージの公開、検索、ダウンロードが可能になります。
プランによる違い
デフォルトだと無料のFreeプランになっています。有料プランもありプランによって下記のようなことが違います。
- プライベートリポジトリの最大数
- Parallel Builds
Dockerイメージの種類
公式のイメージとプライベートなイメージがあります。
公式イメージ
Docker社によるセキュリティ面やイメージサイズの面でレビューが入っており信頼性があります。オフィシャルなイメージの場合はDockerイメージの詳細に「Docker Official Images」と表示されているので確認するようにしましょう。
プライベートイメージ
Docker社によるレビューが入っておらず信頼性の面で劣ります。使う場合は本当に信頼にたる人間が発行しているものか確認した上で使うようにしましょう。
Tags
Dockerイメージはレポジトリにいくつかのタグ付けがなされて保管されています。
使用するイメージのみ指定していた場合は自動的にlatestタグが使用されます。
公開時の注意点
当たり前ですが公開するDockerfileにはパスワードやAPIキーのような機密情報は含めないようにしましょう。
Gitのホスティングとの連携も可能
GitHubやBitbucket等のGitのホスティングサービスにてDockerfileを管理してそこからDockerイメージを自動生成してDocker Hubで公開するというような連携機能もあります。
この記事へのコメントはありません。