LoginSignup
1
1

More than 3 years have passed since last update.

docker-desktop から docker コマンドを使う方法

Last updated at Posted at 2020-03-22
#
# Windows - Docker daemon 側の設定
#

以下の項目にチェックを入れる
Docker Desktop > Settings > General > Expose daemon on tcp://localhost:2375 without TLS
#
# docker-desktop - Docker CLI 側の設定
#

apk add docker
export DOCKER_HOST=unix:///run/guest-services/docker.sock

PowerShell に不慣れな場合、便利かなと思います。

WSL 2 にインストールされる2つの OS

Docker Desktop WSL 2 をインストールすると 2 つの OS がインストールされる。docker-desktopdocker-desktop-data です。

PS > wsl -l -v
  NAME                   STATE           VERSION
* docker-desktop         Running         2
  docker-desktop-data    Running         2
PS >

詳細な役割については、以下の記事に書かれているがよくわからない。

〇 docker-desktop ってなんだ?

Docker daemon が動くOS。ディストリビューションは Alpine Linux っぽい。これは apk コマンドから推定しています。

Docker のコンテナは、こっちで主に管理している様子です。

たぶんそういう動作なんだろうなという理解をしています。確認した内容は、以下の通りです。

〇 docker-desktop-data ってなんだ?

Docker のボリュームは、こっちで主に管理する様子です。

dir \\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\data\docker\volumes
PS > dir \\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\data\docker\volumes


    Directory: \\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\data\docker\volumes


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         3/22/2020   8:56 PM                fa5249be4b61730d27df1da8b71b190c06f4c2c4b13378542ceeefae38ab4b54
d-----         3/22/2020   4:06 PM                056cfbf651b419ba8f37f02bf32da6e082a93f9fd4e63690532582cbca56c61d
d-----         3/22/2020   8:37 PM                自分が作成したボリュームがココにありました。
------         3/22/2020   8:57 PM          32768 metadata.db


PS >

VSCode の設定

追記: VS Code Server のアップデートが走ると VSCode が起動できなくなりました。詳細は下部に追記しています。

VSCode が docker-desktop から実行が可能です。どういう仕組みかはわからないのですが。WSL 2 凄すぎる...

/mnt/host/c/Users/ユーザ名/AppData/Local/Programs/Microsoft\ VS\ Code/bin/code .

まとめ

~/.profile に次のようなものを設定しておけばいいかなと...

~/.profile
export DOCKER_HOST=unix:///run/guest-services/docker.sock
alias code="/mnt/host/c/Users/ユーザ名/AppData/Local/Programs/Microsoft\ VS\ Code/bin/code"

sh の設定は、ログイン時にまず /etc/profile が適用され、
続いて各ユーザのディレクトリの .profile (つまり、~/.profile)が適用されるよ!
シェルの設定ファイル ( sh, bash ) - suu-g's diary

追記

VS Code Server のアップデートが走ると VSCode が起動できなくなりました。

$ code .
Updating VS Code Server to version fe22a9645b44368865c0ba92e2fb881ff1afce94

... 中略

Failed
Connecting to update.code.visualstudio.com (104.42.78.153:443)
wget: bad address 'az764295.vo.msecnd.net'
ERROR: Failed to download https://update.code.visualstudio.com/commit:fe22a9645b44368865c0ba92e2fb881ff1afce94/server-li
nux-x64/stable to /root/.vscode-server/bin/fe22a9645b44368865c0ba92e2fb881ff1afce94-1584858587.tar.gz
$

このあたりが原因かなと思っているのですが、解決できないでいます。

現状 VSCode を触りたい場合は Ubuntu から起動しています。その際の環境変数は、以下の通りです。

export DOCKER_HOST="tcp://0.0.0.0:2375"
1
1
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
1
1