こんにちは。
たまたまQiitaを読んでいるとWSLでdockerが使えるようになったらしいという記事がありました。
WSL上でDocker Engineが動くようになっていたっぽいという話
これを見たときはついにかと思いました。
ただよく考えるとWindows10でdocker動かしてる人ってdocker for windowsインストールしてるわけじゃないですか?
設定とかもGUIで出来るわけで、わざわざWSL側にdocker入れたり管理者権限で動かしたりするのも結局めんどくさくない?って思ってしまったわけです。
Win側にdockerが入っているならbashから呼び出せたら楽じゃないかと。
bashからwindowsのdockerを操作
今回行いたい操作は『docker-compse up -d』で仮想環境の立ち上げです。
で、調べてみるとこんな記事を発見しました。
Windows 10のLinux互換環境WSLからコマンドプロンプトのプログラムを呼び出す(バージョン1803対応版)
bash側からwindowsのプログラムは簡単に呼び出せて、『コマンド.拡張子』のように拡張子までつけて実行することで呼び出せる みたいな記事です。
つまりbashから『docker-compose.exe up -d』を実行することでpowershellで『docker-compse up -d』と同様の処理が走ります。
windowsにはdockerのパスがインストール時に通っているはずですが、もし通っていない場合などはフルパスで指定します。
逆の操作も可能
コマンドプロンプトやpowershellからWSLのコマンドを実行することも可能です。
その場合は『wsl コマンド』で実行可能です。例えばifconfigの場合は『wsl ifconfig』になります。
さいごに
こんな簡単にWSLとWindowsの連携が出来てしまうんですね・・・
今までbashとpowershellの2つのシェルを立ち上げながら作業してたのが馬鹿らしいです。
コメント