Error: Command faild: docker-compose version –short の対処法

こんにちは!seiです!

 

エラーの発生環境

プロジェクト先でDockerを使ってチーム内のコンテナ開発環境を作成していました。
全員エディターはVScodeを使っていたので、拡張機能の「Dev Containers」を使いました。

この拡張機能を使ってwslからコンテナの起動および接続を行った際に、上記のエラー「Error: Command faild: docker-compose version –short 」が発生しました。

 

 

エラーの原因

docker-composeコマンドが使えないためでした。

docker-composeコマンドを使うにはdocker compose(V1)が必要です。
僕のWSL2環境にはdocker compose(V2)がインストールされていましたが、V2のコマンドは「docker compose」なので使えません。

.bashrcにdocker-composeをエイリアスとして登録してみてもできませんでした…

拡張機能がまだdocker compose(V2)に対応してないのではないかと思われます。(2023年7月現在)

 

なお、docker compose(V1)とV2は共存が可能です。

対処法

  • docker compose (V1)をインストールする
  • docker-compose.yamlファイルのversionを変更する

しょうがないのでdocker composeをV1もインストールして、docker-compose.yamlファイルもversionを落としました。

 

docker compose v1 のインストール

簡単です。2行で終わります。

curl -L https://github.com/docker/compose/releases/download/1.6.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

 

docker-compose.yamlファイルの編集

拡張機能がdocker-compose.yamlファイルのversion:3.8の書き方に対応していなかったので、version:2.0にしました。

 

version: '2' // versionを3→2にした
services:
  web:
    build: ./web
    volumes:
      - ./web:/code
    ports:
      - 8001:8000

 

これで解決するはずです!

docker composeコマンドがうまくいかない
プログラミング学習方法を発信してます!