今回はもう流行ってずいぶん経つ Docker が Windows 版に対応したので、こちらの疎通をとってみる。今回の手順は Get started with Docker for Windows を踏襲した程度なので、英語に抵抗感のない人はこちらを試すことをお勧めする。
注意として現状のクライアント OS は「64bit Windows 10 Pro, Enterprise and Education (1511 November update, Build 10586 or later)」のバージョンのみ利用可能だという点だ( Windows Server 側はこの限りではない )。
Docker for Windows は内部で Hyper-V を利用しているため「Windows の機能の有効化または無効化」で以下の様に Hyper-V の機能を有効化する。
上記を実施後に Get started with Docker for Windows から Docker for Windows のインストーラを取得し、セットアップを実施する。セットアップの実施後、作成された Docker for Windows のアイコンから起動すると以下のウィンドウが表示される。
さらに Hyper-V マネージャを起動すると、以下の様に MobyLinuxVM が表示される。これらが表示されない場合はセットアップ後にしばらく待つ。
次に、PowerShell ISE を起動し、以下の様にコマンドが実行されるか確認する。
PS C:\Windows\System32\WindowsPowerShell\v1.0> docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 1.12.5 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs
Docker for Windows のインストールが完了していることを確認後、以下のコマンドを利用して nginx の Web サーバを起動し、プロセス一覧から実行中であることを確認する。
PS C:\Windows\System32\WindowsPowerShell\v1.0> docker run -d -p 80:80 --name webserver nginx docker : Unable to find image 'nginx:latest' locally 発生場所 行:1 文字:1 + docker run -d -p 80:80 --name webserver nginx + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (Unable to find ...latest' locally:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError latest: Pulling from library/nginx 75a822cd7888: Pulling fs layer 0aefb9dc4a57: Pulling fs layer 046e44ee6057: Pulling fs layer 046e44ee6057: Verifying Checksum 046e44ee6057: Download complete 0aefb9dc4a57: Verifying Checksum 0aefb9dc4a57: Download complete 75a822cd7888: Download complete 75a822cd7888: Pull complete 0aefb9dc4a57: Pull complete 046e44ee6057: Pull complete Digest: sha256:fab482910aae9630c93bd24fc6fcecb9f9f792c24a8974f5e46d8ad625ac2357 Status: Downloaded newer image for nginx:latest 1f0fa6a7e1433102f52437e192f8b9579a8721405fc17a47553016f5fec52b33 PS C:\Windows\System32\WindowsPowerShell\v1.0> docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1f0fa6a7e143 nginx "nginx -g 'daemon off" 10 minutes ago Up 10 minutes 0.0.0.0:80->80/tcp, 443/tcp webserver
最後にブラウザからアクセスすることで正常に Docker のイメージが実行されていることを確認する。