お疲れ様です!Docker for Windows をコマンドだけでインストールしたかったのでやってみました。

準備

Docker for Windows をインストールする前に、OSの設定を下記を参考に「コンテナを有効化」まで設定します。

docker を Windows で使ってみる:Hyper-V とコンテナ環境構築

Windows 版の Docker をインストール

インストール

  • Windows キー押下後、「powershell」と入力し Ctrl + Shift を押しながら Enter キーを押下します。
    ※管理者権限で Windows PowerShell が開きます。
  • 下記のコマンドを実行します。
invoke-webrequest -uri https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe -outfile .\dockerInstaller.exe

もしエラー「Internet Explorer エンジンを使用できないか、Internet Explorer の初回起動構成が完了していないため、応答のコンテンツを解析できません。UseBasicParsing パラメーターを指定して再試行してください。」になったときは、「-UseBasicParsing」オプションを付けて実行します。

invoke-webrequest -uri https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe -UseBasicParsing -outfile .\dockerInstaller.exe
  • ダウンロードが完了したら下記のコマンドを実行します。
.\dockerInstaller.exe install --quiet
  • インストールが完了したら下記コマンドで再起動します。
Restart-Computer

OS ビルドが 14393 のとき

Windows Server 2016 のトライアル版など OS ビルドが 14393 のときは最新の Docker Desktop for Windows は使えません。
そのときは下記のコマンドを実行します。

invoke-webrequest -uri https://download.docker.com/win/stable/31259/Docker%20for%20Windows%20Installer.exe -outfile .\dockerInstaller.exe

動作確認

  • 再起動したら管理者権限で Windows PowerShell を開き、動作確認してみます。
    正常に起動する場合
[hostname]: PS C:\Users\Hoge\Documents> docker version
Client: Docker Engine - Community
 Version:           18.09.2
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        6247962
 Built:             Sun Feb 10 04:12:31 2019
 OS/Arch:           windows/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.2
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       6247962
  Built:            Sun Feb 10 04:13:06 2019
  OS/Arch:          linux/amd64
  Experimental:     false

エラーになる場合

[hostname]: PS C:\Users\Hoge\Documents> docker version
Client: Docker Engine - Community
 Version:           18.09.2
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        6247962
 Built:             Sun Feb 10 04:12:31 2019
 OS/Arch:           windows/amd64
 Experimental:      false
docker : error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.39/version: open //./pipe/docker_engine: The system cannot find the file specified. In
 the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not runnin
g.
    + CategoryInfo          : NotSpecified: (error during co...is not running.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

この場合は、デフォルトの LinuxEngine の起動に失敗しています。下記コマンドを実行するとエラーメッセージが表示されると思うので対処します。私の環境ではメモリが2GB必要になるので空きがないとエラーになっていました。

& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchLinuxEngine

エンジン切り替え

  • 正常起動していれば Windows コンテナに切り替えます。
& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchWindowsEngine
  • 動作確認してみます。
[hostname]: PS C:\Users\Hoge\Documents> docker version
Client: Docker Engine - Community
 Version:           18.09.2
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        6247962
 Built:             Sun Feb 10 04:12:31 2019
 OS/Arch:           windows/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.2
  API version:      1.39 (minimum version 1.24)
  Go version:       go1.10.6
  Git commit:       6247962
  Built:            Sun Feb 10 04:28:48 2019
  OS/Arch:          windows/amd64
  Experimental:     false

VM で複数サーバー設定とかするときは GUI よりコマンドの方が楽だったりしますね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*