TL;DR
設定の Docker Compose の実行パス末尾に .exe が付けよう
Docker Compose で実行しているアプリケーションをリモートデバッグする
IntelliJ で読み込んでいるプロジェクトは、Dockerfile, docker-compose ファイル開いた状態から直接コンテナデプロイしてあれこれでき大変便利です。公式チュートリアルにも記述あり、さくっとお試しできます。
Docker Composeを使用してSpring Bootアプリケーションを実行およびデバッグする
https://pleiades.io/help/idea/run-and-debug-a-spring-boot-application-using-docker-compose.html
が、以下のようなエラー(*1)に出くわすとそもそもコンテナの起動に失敗します。
Failed to deploy 'Compose: docker-compose-debug.yml': com.intellij.execution.process.ProcessNotCreatedException: Cannot run program "C:\Program Files\Docker\Docker\resources\bin\docker-compose" CreateProcess error=193, %1 は有効な Win32 アプリケーションではありません。
トラブルシュート
"有効な Win32 アプリケーションではありません。" と言われているけどファイルは配備されてるしIntelliJ通さないと動くし、ということで設定を見直します。
File > Settings > Build, Execution, Deployment > Docker > Tools と設定を辿り、実行パスに '.exe' が付いているか確認します。拡張子指定がないとコケます。
'.exe' が付いていれば、晴れて Dockerビルド・デプロイされます。
環境
IntelliJ IDEA 2020.1.3 (Community Edition)
Build #IC-201.8538.31, built on July 7, 2020
Runtime version: 11.0.7+10-b765.64 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
GC: ParNew, ConcurrentMarkSweep
Memory: **
Cores: **
Non-Bundled Plugins: org.jetbrains.kotlin, Docker
参考リンク
ツール
https://pleiades.io/help/idea/settings-docker-tools.html?keymap=primary_windows
→Win10で言われるがままに環境作るとハマる気がする。
Docker Compose ProcessNotCreatedException Windows 10
https://intellij-support.jetbrains.com/hc/en-us/community/posts/360008456260-Docker-Compose-ProcessNotCreatedException-Windows-10
Cant start docker conteiners from docker-compose file
https://youtrack.jetbrains.com/issue/IDEA-243048
→英語ではknownなのか、、と思ってみたら、すでにIssueが上がっていた。次バージョンでは直りそう。
(気にしなくてよくなって、この記事消せますように)