Docker Compose で Rocket.Chat 起動しなかったときのメモ。
事象
会社のセキュリティ規定でSlackが使えないので、Rocket.Chat を社内基盤に立ち上げた。
どうせなら Docker を使おうと思い、Docker Compose で Rocket.Chat を構築したら初回は起動したけど、なぜか2回目から起動しない。
ログを見ると「waiting for connections on port 27017」で MongoDBがコネクションを待ち受けており、接続先が無くて止まっている様子。
docker-compose stop や docker-compose down を実行後、docker-compose up してもダメ。
解決策
根本原因までは調べてないが、初回起動以降はログの通り、MongoDB が Rocket.Chat App より先に起動してしまい、接続先が無くて止まっているっぽい。なので、先ずは MongoDB を起動させ、
# MongoDB起動
docker-compose up -d mongodb
# logの確認
docker-compose logs mongodb
で、以下のログが出ていることを確認してから、
mongodb_1 | 2019-03-19T00:00:00.000+0000 I NETWORK [initandlisten] waiting for connections on port 27017
Rocket.Chat App を起動させる。
# rocketchat起動
docker-compose up -d rocketchat
詳細はこのあたりか?
docker-compose only runs first time #1373
https://github.com/RocketChat/Rocket.Chat/issues/1373