VSCodeのRemoteContainersが急にエラーになったときの対処法
VSCode
のRemote - ContainerでDocker
のコンテナを起動して開発をしていましたが、ある日突然以下のエラーが発生し、起動できなくなってしまいました。
エラーログを確認すると、以下のエラーになっていることがわかりました。
エラーログ
ERROR: The Compose file '/tmp/docker-compose/docker-compose.devcontainer.containerFeatures-1648867846423.yml' is invalid because:
services.app.volumes contains an invalid type, it should be a string
docker-compose.xml
のvolumes
の書き方に問題があったようです。
何が悪いのかよくわかりませんでしたが、version
を3
ではなく3.2
以上にする必要があるようです。
docker-compose.yml
version: "3"
version: "3.2"
...省略...
volumes:
- ./:/code
内部的に拡張機能などがアップデートされて、今回のエラーが発生するようになったのだと思いますが、ソースをいじってないのに次の日、急に起動できなくなった。という感じでしたので焦りましたが、無事に解決できてよかったです。
補足
Remote-Container
のエラーは以前からたまに発生することはありましたが、そのときはVSCode
を開き直したり、PCを再起動すれば直ることが多いです。
また、コンテナ内でエラーが発生してコンテナが停止しているケースもあるので、エラーが発生した場合、まずはローカルで以下のコマンドでコンテナが問題なく起動できることを確認することをおすすめします。
$ docker-compose up
また、コンテナ内で急にエラーが発生するようになった場合、Dockerでpgadminが起動できなくなった時の対処法で紹介しているように、キャッシュやボリュームを削除すると直ることがあります。