おとなしくDocker for Windowsを使うことがなによりの策だと感じる
以前こんなことをネタにしたりしました。
普段使っているMacbookAirがさすがにパワー不足になり、普段ゲームするくらいしか使っていないWindowsPCの出番が増えてきました。
あれからWindowsで快適なshellとdocker環境を求めて、ああだこうだとWSLでdocker-compose使うことを試したり、Vagrantあたりで共有フォルダ生やして試してみたりといろいろやってましたが、単純にdocker-composeでコンテナ生やすだけならdocker for Windows使えばいいですね(´・ω・`)
普段はWSL上で編集して、PowershellはDocker操作用に使う。これだ。 ちなみに、WSL上でもdocker.exeとすればWindows側のdockerが叩けます。
# docker.exe ps [master] CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a3309a6e1dcd mariadb:10.0.35 "docker-entrypoint.s…" 10 minutes ago Up 9 minutes 3306/tcp, 0.0.0.0:3306->30001/tcp etl_db_1 8bf9d9e04ac1 etl_digdag "bash -c 'java -jar … 10 minutes ago Up 9 minutes 0.0.0.0:65432->30002/tcp etl_digdag_1
こんな感じ。
ただ、この状態でbash立ち上げようとすると
docker-compose.exe exec digdag bash the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'
と怒られる(´・ω・`)まあwinptyが入っている環境なら動くらしいんですが。 おとなしくPowerShellで
PS etl> docker-compose.exe exec digdag bash digdag@8bf9d9e04ac1:~$
とやればすべて解決するわけで。 もうこれでいいな(´・ω・`)