Compose サービスの実行
UCIDM は Docker Compose を使い、複数のアプリケーションやミドルウェアのコンテナを起動して、それぞれのサービスが協調してシステムを構成しています。
これまで compose.yml と .env の設定を行ってきました。実際にコンテナイメージを取得してサービスを起動してみましょう。
- (初回起動時のみ) MongoDB と RabbitMQ の起動および初期設定
- Docker Compose の起動と終了
- コンテナのログ確認
- コンテナサービスとの疎通確認
- 初期設定をやり直したいとき
(初回起動時のみ) 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