docker-compose v2を使用すると、PhpStormでサービスが選択できなくなる件

Docker for Windows でWSLエンジンとディストリビュージョンインテグレーションを使用した環境で使用した際、Windows側にファイルを置いた場合と比較して、かなり高速に動作するようにはなったのですが、Windows側からコンテナを起動したときにボリュームバインディング時のパスがおかしくなるバグによって、指定したディレクトリがうまくコンテナにバインドされない不具合が発生していました。

いろいろ試したところ、Dockerの設定画面にある Use ”Docker Compose V2” というオプションを有効化すると、Windows側からコンテナを起動しても、正常にバインディングされることがわかりました。

これで、めでたしめでたし…となると思いきや、新たな問題が発覚。

PhpStormでコマンドラインツールの設定などを行う際に、docker-compose.ymlで定義されたサービス一覧からインタプリタがインストールされたコンテナ(サービス)を指定する必要があるのですが、docker-compose V2 を使用すると、この選択肢がバグッてしまい、正しいものを選択できなくなってしまいます。

どうやら、docker-compose V1 とdocker-compose V2では情報を出力した際のフォーマットが微妙に異なっているらしく、PhpStormがサービス一覧をうまく取得できないのが原因のようです。

早くPhpStorm側がdocker-compose V2に対応してくれればいいのですが、現時点ではまだ対応する気配はなさそうですので、PhpStorm上のサービスの設定を行うときははdocker-compose V1 の状態で行い、設定が終わり次第docker-compose V2に切り替える、といった方法しかなさそうです。

最初しばらくこの原因に気づけず、「こっちのPCでは動くのに、なぜかこっちのPCでは動かない…」という状況になって、かなり頭を悩ませてしまいました(;´∀`)
Windows版ののdockerを使いこなせるようになるには、まだまだ知らないといけないことが多そうです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG