yfuku blog

Rock Me!という会社でエンジニアをやっています。PythonやiOS開発について書いていきたいのですが、自作キーボードはまりすぎてキーボードブログと化している・・・

dockerで作ったmongodbコンテナがバージョンアップで動かなくなった時の対処ログ

Crowiをdocker-composeを使って構築しているのですが、OS周りの整理などをしていて、何かのタイミングでmongodbのimageがバージョンアップされて、動かなくなりました。
dockerはcrowiくらいにしか使ってないので、そんなに詳しくないので焦りましたが順を追っていけば簡単に解決できました。
docker系のコマンドはあまり自信ないです^^;

  • docker-compose up -dしてもmongodbだけ立ち上がらない
    • ログをメモるのを忘れてしまいましたが、Exit 62とか表示されてたと思います
  • なぜ落ちたのかを調べる
    • シェルで入ればいいやと思ったのだが、コンテナ自体が立ち上がってないのでdocker exec -it crowi_mongo_1 bash などしても入れない
    • docker logs crowi_mongo_1で出力されたログが見れるのでこちらで確認
    • 下記のようにデータをアップグレードしてから3.6にするように言われる
2018-01-16T00:41:46.405+0000 F CONTROL  [initandlisten] ** IMPORTANT: UPGRADE PROBLEM: The data files need to be fully upgraded to version 3.4 before attempting an upgrade to 3.6; see http://dochub.mongodb.org/core/3.6-upgrade-fcv for more details.
  • とりあえず3.4に戻さないと前に進まなそう
  • docker-compose.ymlを書き換えて、3.4に戻す
image: mongo
↓
image: mongo:3.4.10
  • docker-compose createを実行
  • 再度、docker-compose up -dを実行
  • 無事にmongodbが起動して、crowiが見れるようになりました。ふ〜
  • 3.6で動くようになるかは未確認。