Compose サービスの準備
UCIDM は Docker Compose を使い、複数のアプリケーションやミドルウェアのコンテナを起動して、それぞれのサービスが協調してシステムを構成しています。
これらはすべて compose.yml に設定します。また compose.yml はデフォルトの動作として環境変数を同じディレクトリ内の .env から読み込みます。
.env ファイルはパスワードなどの機密情報を含むため、ファイルを保管するマシンへのアクセス権限に注意してください。ここでは ucidm ユーザーがアクセス権限をもつと仮定して設定作業を行います。
コンテナレジストリへのアクセス設定
OSSTech 社のコンテナレジストリ にアクセスするには Docker Hub へ ログイン する必要があります。作業するユーザーの初回設定時のみ、次のようにしてログインしてください。実際に設定するパスワードは弊社のサポート担当者にご確認ください。
ログインに成功すると、ホームディレクトリの .docker ディレクトリ配下に config.json というファイルが作成されて認証情報が保存されます。すでに config.json が存在するのであれば今回の設定が追加されます。
設定後、次のように実行してください。認証情報が正しければコンテナイメージを取得してコンテナを実行できます。
Docker Compose の設定ファイル
ucidm ユーザーのホームディレクトリである /var/opt/osstech/lib/ucidm に compose.yml を配置します。
Docker Compose の設定のサンプルファイルを /var/opt/osstech/lib/ucidm ディレクトリにコピーします。compose.yml で扱う変数はデフォルトで .env ファイルで解決されます。この .env ファイルを直接使うデメリットとして次があります。
-aオプションなしの ls コマンドで表示されないために.envファイルを探しにくい- シェルのワイルドカード展開で対象から除外されるために grep コマンドなどでフィルターされない
.env ファイル以外のファイル名で使う場合、docker コマンドへのオプション指定や環境変数設定が必要になります。これらのデメリットを解消した上で追加設定を不要にするため、ucidm.env を参照するシンボリックリンクとして .env を作成します。
Docker Compose 上でコンテナとして稼働するアプリケーションやミドルウェアの設定のサンプルファイルも一緒にコピーします。これらのディレクトリはコンテナのサービスごとに永続化データ、設定情報やスクリプト等のファイルを配置しています。コンテナを起動したときに、さらにディレクトリを作る場合もあります。
compose.yml の構文チェックを行います。次のように実行してワーニングやエラーが出力されないことを確認します。
コンテナイメージの取得
compose.yml を配置できました。この後にいくつか環境変数を設定していきますが、先にコンテナイメージをローカルに取得しておきます。すでにコンテナイメージを取得済みであっても、より新しいイメージがあれば最新のイメージを取得します。
ローカルに取得したコンテナイメージを確認します。
Docker Compose 上で稼働させるアプリケーションやミドルウェアの設定の詳細は次のページでみていきます。
- MongoDB
- RabbitMQ
- UCIDM API
- ID 連携管理画面
- ユーザープロファイル画面
- 外部連携モジュール のサービス
- サンプルの
compose.ymlから必要なサービス定義以外は削除してください
- サンプルの
- Agent モジュール のそれぞれのサービス
- サンプルの
compose.ymlから必要なサービス定義以外は削除してください
- サンプルの