zukucode
主にWEB関連の情報を技術メモとして発信しています。

VSCodeのRemoteContainersが急にエラーになったときの対処法

VSCodeRemote - ContainerDockerのコンテナを起動して開発をしていましたが、ある日突然以下のエラーが発生し、起動できなくなってしまいました。

VSCodeのRemoteCointainersでエラーが発生

エラーログを確認すると、以下のエラーになっていることがわかりました。

エラーログ
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.xmlvolumesの書き方に問題があったようです。

何が悪いのかよくわかりませんでしたが、version3ではなく3.2以上にする必要があるようです。

docker-compose.yml
version: "3"
version: "3.2"

...省略...

volumes:
    - ./:/code

内部的に拡張機能などがアップデートされて、今回のエラーが発生するようになったのだと思いますが、ソースをいじってないのに次の日、急に起動できなくなった。という感じでしたので焦りましたが、無事に解決できてよかったです。

補足

Remote-Containerのエラーは以前からたまに発生することはありましたが、そのときはVSCodeを開き直したり、PCを再起動すれば直ることが多いです。

また、コンテナ内でエラーが発生してコンテナが停止しているケースもあるので、エラーが発生した場合、まずはローカルで以下のコマンドでコンテナが問題なく起動できることを確認することをおすすめします。

$ docker-compose up

また、コンテナ内で急にエラーが発生するようになった場合、Dockerでpgadminが起動できなくなった時の対処法で紹介しているように、キャッシュやボリュームを削除すると直ることがあります。


関連記事