Compose サービスの実行

UCIDM は Docker Compose を使い、複数のアプリケーションやミドルウェアのコンテナを起動して、それぞれのサービスが協調してシステムを構成しています。

これまで compose.yml.env の設定を行ってきました。実際にコンテナイメージを取得してサービスを起動してみましょう。

(初回起動時のみ) MongoDB と RabbitMQ の起動および初期設定

MongoDB と RabbitMQ の起動および初回セットアップに少し時間がかかるので次のように起動させます。初めてセットアップするときに実行すれば、2回目以降は行う必要はありません。

$ docker compose up -d mongo rabbitmq

起動して 1 〜 2 分 /var/log/osstech/ucidm/ucidm-mongo.log の MongoDB のコンテナログを監視して出力が停止したのを確認します。RabbitMQ の初回起動処理は通常 MongoDB よりも前に完了します。

Docker Compose の起動と終了

サービスを起動するときは up サブコマンドを実行します。

$ docker compose up -d

それぞれのサービスが正常に起動しているかどうかは ps サブコマンドで確認します。

$ docker compose ps

サービスを停止するときは stop サブコマンドを実行します。

$ docker compose stop

コンテナのログ確認

ログファイルは rsyslog で管理 しているため、docker logs (docker compose logs) コマンドで確認できません。

ログディレクトリは /var/log/osstech/ucidm になります。その配下のログファイルを参照してください。正常にサービスが起動しないときはログを確認してください。

$ ls -p /var/log/osstech/ucidm
old/  ucidm-admin-ui.log  ucidm-agent-ldap.log  ucidm-api.log
ucidm-consumer-local-001.log  ucidm-mongo.log  ucidm-passsync.log
ucidm-rabbitmq.log  ucidm-ucidm-ui.log

コンテナサービスとの疎通確認

次のように疎通確認をします。

$ curl http://localhost:18080/status/version
{"ucidmVersion":"1.8.0","serverVersion":"fb42590","idFederationClientVersion":"871bd9f","mongoDBVersion":"8.0.3","rabbitMQVersion":"4.0.3"}
$ curl --head http://localhost:3030/sys/
HTTP/1.1 200 OK
$ curl --head http://localhost:5030/ui/
HTTP/1.1 200 OK

初期設定をやり直したいとき

Docker Compose で起動するサービスのいくつかは初回起動時に初期設定を行います。これらの設定は初回に実行されたときしか適用されません。

パスワードなどを誤ってしまったり、再設定したいときに 運用開始前 であればデータを削除することで初期設定をやり直すことができます。 運用開始後は ID 連携のデータが格納されているので絶対に削除しないでください。

たとえば MongoDB の初期設定をやり直すときは mongodb ディレクトリを削除して作成し直します。

$ docker compose down
$ rootlesskit rm -rf mongodb/*

compose.yml で volumes に設定されているデータを削除すると、再度 .env から初期設定を行います。

$ docker compose up -V mongo
Ctrl+C を入力して停止

$ docker compose up -d