Compose サービスの実行

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

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

コンテナイメージの取得

最新のコンテナイメージを取得するときは pull サブコマンドを実行します。

$ cd /var/opt/osstech/lib/ucidm
$ docker compose pull

同時に環境変数の設定が誤っているときはワーニングなどが表示されいます。この後のコンテナを起動する前にチェックしてください。

(初回起動時のみ) MongoDB の初期設定

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

$ docker compose up -V mongo

起動してログ出力が停止したのを確認して Ctrl+C を入力して停止します。

Docker Compose の起動と終了

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

$ docker compose up -d

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

$ docker compose ps

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

$ docker compose stop

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

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

$ curl http://localhost:18080/status/version
{"serverVersion":"2730fd8","idFederationClientVersion":"ef562e7","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 で起動するサービスのいくつかは初回起動時に初期設定を行います。これらの設定は最初に実行されたときの1回だけしか適用されません。

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

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

$ docker compose down
$ sudo rm -rf mongodb

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

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

$ docker compose up -d