Win10にインストールされた最新のDocker Edge(18.03.0-ce-rc1-win54(16164))。
最新のDocker CE Edgeバージョンに更新する前に「Linux Container」に切り替えました(ただし、最新の「Windows Docker」UIには切り替えオプションが表示されなくなりました!?)。
実行しても問題ありませんdocker run hello-world
Windows CMDから。
しかし、WSL Bash(最新のWin10 1709)から同じものを呼び出すと、常に次のtls
エラーメッセージが返されます。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
continuumio/miniconda3 latest 29af5106b6a4 17 hours ago 443 MB
hello-world latest f2a91732366c 3 months ago 1.85 kB
$ docker --version
Docker version 1.13.1, build 092cba3
$ docker version
Client:
Version: 1.13.1
API version: 1.26
Go version: go1.6.2
Git commit: 092cba3
Built: Thu Nov 2 20:40:23 2017
OS/Arch: linux/AMD64
Server:
Version: 18.03.0-ce-rc1
API version: 1.37 (minimum version 1.12)
Go version: go1.9.4
Git commit: c160c73
Built: Thu Feb 22 02:42:37 2018
OS/Arch: linux/AMD64
Experimental: true
$ echo $DOCKER_Host
tcp://0.0.0.0:2375
$ docker run hello-world
tls: oversized record received with length 20527
この設定は無関係と思われますが、docker
コマンドを実行するために必要です:
TLSなしでtcp:// localhost:2375でデーモンを公開する
これがWindows Docker/WSLの使用に関して報告されている一般的な問題ではないのはなぜかと思います。何かがめちゃくちゃになっているように見えますが、どこから調べ始めればいいのかわかりません。
例えば:
daemon.json
の値"insecure-registries": []
as some SO関連メッセージのアドバイス?任意のヘルプ/ポインタをいただければ幸いです!
(= PA =)
これに少し驚いたので、別のGoogleセッションを作成し、こちら側のコメントで解決策を見つけました。* https://nickjanetakis.com/blog/setting-up-docker-for-windows- and-wsl-to-work-flawlessly
一言で言えば:*私が説明した問題は、デフォルトではあるが古いdocker.io
インストール、最新の維持されたdocker-ce
インストール。
(末尾の*
が意図されています!):
Sudo apt-get remove --purge docker*
最新のdocker-ce
one-上記のページで説明した手順に従って、TLSの問題はなくなりました!
ハッピードッキング。
提案されたソリューション
Sudo apt-get remove --purge docker*
私がapt-get removeコマンドを実行しようとするとすぐに次のエラーが発生したので、私にとってはうまくいきませんでした:
No process in pidfile '/var/run/docker-ssd.pid' found running; none killed.
invoke-rc.d: initscript docker, action "stop" failed.
したがって、これを実行して手動でdockerをアンインストールする必要がありました。
Sudo rm /var/lib/dpkg/info/docker.io.*
Sudo rm /var/cache/apt/archives/docker.io*
Sudo rm /etc/default/docker
Sudo rm /etc/init.d/docker
Sudo rm /etc/init/docker.conf
そしてその後、私はちょうどここの指示に従った:
https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-to-work-flawlessly
問題が修正されました。
問題を解決する手順は次のとおりです。
docker.io
(存在する場合)および関連パッケージをWSL(Ubuntu)から削除します。
Sudo apt-get remove docker.io
Sudo apt-get remove docker*
注:エラー(実装されていない機能)の場合、 WSLのアップグレード by(しばらく時間がかかります):
Sudo -S apt-mark hold procps strace Sudo
sudo -S env RELEASE_UPGRADER_NO_SCREEN=1 do-release-upgrade
Docker CEのインストール WSL(Ubuntu):
Sudo add-apt-repository "deb [Arch=AMD64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Sudo apt-get update
Sudo apt-get install docker-ce
Windows上の Dockerアプリ でTLSなしでデーモンを公開します。
WSLでDOCKER_Host
変数を定義して接続します:
export DOCKER_Host=:2375
関連: