Docker for Windowsのインストールとトラブル対応
参考
WSL(Bash on Windows)でDockerを使用する - Qiita
Docker for Windows を始めよう — Docker-docs-ja 19.03 ドキュメント
Windows に Docker Desktop をインストール — Docker-docs-ja 19.03 ドキュメント
この辺を参考にDocker for WindowsをインストールしたけどうまくHyper-Vが立ち上がってくれなかったので対応したこと
前提
PCはWindows10のProである必要がある
インストーラのダウンロードとインストール
https://hub.docker.com/editions/community/docker-ce-desktop-windows/
インストーラをクリックしてインストールする
アプリを起動
Docker Desktopアプリを起動
デスクトップ上にショートカットのアイコンがあればそれをクリック またはWindowsキーで検索する
自分の場合はここで Cannnot enable Hyper-V service
と出てしまった(対応は後述)
上のポップアップを消してしまうとDockerアプリも閉じてしまうみたいなのでここではわきにどけてそのまま続けた
設定画面
How open docker settings on windows? - Super User
アプリの設定は上のリンク先にも書いてある通り、起動中はWindowsの右下の「上向きの三角っぽい矢印の中」に隠れている
これを押して「Settings」を押す
この「Expose daemon on tcp://localhost:2375 without TLS」チェックを入れて「Apply&Restart」する
WSL上でDockerインストール
Install Docker Engine on Ubuntu | Docker Documentation
# 事前パッケージインストール $ sudo apt-get update $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common # DockerのGPG鍵を追加,確認 $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - $ sudo apt-key fingerprint 0EBFCD88 # Docker Stableレポジトリを追加 $ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" # Dockerインストール $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
WSL上のDocker設定
自分の場合はzshを使っているので、.zshrcを編集する。bashの人は.bashrcにする
echo "export DOCKER_HOST='tcp://0.0.0.0:2375'" >> ~/.zshrc source ~/.zshrc
確認
docker version
をターミナルで実行すると、おかしい
Cannot connect to the Docker daemon at tcp://0.0.0.0:2375. Is the docker daemon running?
というメッセージが出た
Serverは表示されない
$docker version Client: Docker Engine - Community Version: 19.03.12 API version: 1.40 Go version: go1.13.10 Git commit: 48a66213fe Built: Mon Jun 22 15:45:36 2020 OS/Arch: linux/amd64 Experimental: false Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
参考
Hyper-Vが立ち上がってくれない問題対応
Windows 10 での Hyper-V の有効化 | Microsoft Docs
を参考にやってみたがうまくいかない
自分の場合は事前に「Hyper-V」がチェックが入っていた
調べた結果
Cannot enable hyper-v service - Docker Desktop for Windows - Docker Forums
got to ‘Apps and Features’. Select Programs and Features on the right under related settings. Select Turn Windows Features on or off. Unselect Hyper-V and click OK. (So I disable it) Restart computer After restart I go to: ‘Apps and Features’. Select Programs and Features on the right under related settings. Select Turn Windows Features on or off. select Hyper-V and click OK. (So I enable it) Computer restart
という記述を見つけて、いったんチェックを外して再起動、もう一度チェックを入れて再起動したら、今度はHyper-Vが立ち上がったらしい(DockerDesktopアプリを起動してもエラーが出なかった!)
再度確認
$docker version Client: Docker Engine - Community Version: 19.03.12 API version: 1.40 Go version: go1.13.10 Git commit: 48a66213fe Built: Mon Jun 22 15:45:36 2020 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.12 API version: 1.40 (minimum version 1.12) Go version: go1.13.10 Git commit: 48a66213fe Built: Mon Jun 22 15:49:27 2020 OS/Arch: linux/amd64 Experimental: false containerd: Version: v1.2.13 GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683
ようやく表示された。 ふー