Windows Containerを使う場合に、Docker for WindowsのインストーラをDockerのサイトからダウンロードしてきてインストールするとデフォルトではLinux Containerを使うようにセットアップされます。
その状態でWindows Containerのセットアップ手順に沿ってサービスを起動しようとすると以下のようなエラーが発生することがあります。
start-service : Failed to start service 'Docker Engine (docker)'.
|
アプリケーションのイベントログには以下のようなログが残ります。
fatal: open //./pipe/docker_engine: Access is denied.
|
これはLinux Container向けのエンジンと通信しようとするために発生しているようです。
PS C:\WINDOWS\system32> docker version Client: Version: 17.03.0-ce API version: 1.26 Go version: go1.7.5 Git commit: 60ccb22 Built: Thu Feb 23 10:40:59 2017 OS/Arch: windows/amd64
Server: Version: 17.03.0-ce API version: 1.26 (minimum version 1.12) Go version: go1.7.5 Git commit: 3a232c8 Built: Tue Feb 28 07:52:04 2017 OS/Arch: linux/amd64 Experimental: true
|
解決方法
タスクトレイのアイコンのメニューから “Switch to Windows containers…”を選択することでWindows Containersを使うように変更できます。

PS C:\WINDOWS\system32> docker version Client: Version: 17.03.0-ce API version: 1.26 Go version: go1.7.5 Git commit: 60ccb22 Built: Thu Feb 23 10:40:59 2017 OS/Arch: windows/amd64
Server: Version: 17.03.0-ce API version: 1.26 (minimum version 1.24) Go version: go1.7.5 Git commit: 60ccb22 Built: Thu Feb 23 10:40:59 2017 OS/Arch: windows/amd64 Experimental: true
|