WSL(windows on bash)からdocker for windowsを操作する

noimage

こんにちは。

たまたま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つのシェルを立ち上げながら作業してたのが馬鹿らしいです。