LoginSignup
4
6

More than 5 years have passed since last update.

windows環境でのdocker-composeのInteractive Modeが実行出来ないのが解決した

Last updated at Posted at 2016-11-06

Dockerの勉強をやってたら、docker-composeでInteractive modeが使えないということで詰まったけど解決した話です。

→現状のDockerではこの問題は解決しているのでこれをやる必要はありません。

環境

  • Windows 10 Pro 64bit
  • Cmder
  • なおdocker Toolboxを利用です。docker-composeは1.8.0を利用しておりました

問題点

docker-compose runやexecなどを行おうとすると、WindowsではInteractive modeがサポートされてないからdetachで動かしてねって返ってきます。

Interactive mode is not yet supported on Windows.
Please pass the -d flag when using `docker-compose run`.

detachモードでとりあえず動かしてたわけですが、厳しかったので以下のようなコマンドで乗り切ってました。

docker exec -it コンテナ名 composer install

調べると結構躓いた人がいるみたいです。。。私も調べてたら以下の記事にぶち当たりました。

実は次のdocker-compose バージョン1.9で解決する

実はこれ、次のバージョンの1.9で解決します。

Attach interactively on Windows by shelling out

上記がマージされた内容です。Docker for Windowsを利用している人はDOCKER_HOSTのenvを設定する必要がある模様?

まだリリースされてないけど使いたい

すでに1.9.0-rc1から上記がマージされたものが利用できます。
私が見たときはrc3が最新だったので、rc3を利用します。(すでにrc4でした

→もうリリースされたようです。Docker ToolBox側が対応したかはまだ不明です。

  1. ダウンロードは上記の1.9.0-rc3のdocker-compose-Windows-x86_64.exeを選びます。(もっと新しいバージョンが出ていたらそれを使いましょう)
  2. ダウンロードし終えたら、DockerToolboxが入っているC:\Program Files\Docker Toolboxに移動します。
  3. docker-compose.exedocker-compose.exe.oldなどにリネームしておきます
  4. docker-compose-Windows-x86_64.exedocker-compose.exeにリネーム
$ docker-compose -v
docker-compose version 1.9.0-rc3, build c1e5515

これでwindowsのdocker-composeでInteractive modeが利用できるようになりますー。
やったー!

追記

このdocker-composeの1.9に変更をするとパスの問題が出てくるらしいので、環境変数を設定しておかないとupができなくなります。
(なおこれはDockerToolboxの場合だけみたい?releaseにも書いてますが)

COMPOSE_CONVERT_WINDOWS_PATHS=1

追記その2

Docker ToolBoxのほうでは、v1.12.4からdocker-compose v1.9に対応する模様です。まだRC版ですが・・・。待つ方は待ちましょう。 v.1.12.5でdocker-compose 1.9が導入されてます。これからはそのままtoolboxを入れても動くようになってるでしょう
https://github.com/docker/toolbox/releases

ではでは~

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6