タイガー!タイガー!じれったいぞー!(SE編)

AS400, Java, JavaEE, JSF等の開発、習慣など。日々の気づきをまとめたブログ(備忘録)

Docker for Windows(Ver1.12)を試してみました

今年初め、10年ぶりに資格取得に挑戦しようと、LPIC1へ挑戦しました。

何とか合格することができ、「よっしゃー!」と当時は気持ちが高ぶったのですが、半年近くも経つと、あの時の気持ちの高ぶりはすっかり冷めてしまっておりました。

これではいかん!!

内的モチベーションを働かせ、約5年ぶりにPCも購入!(初Let's Note。MacからまたWindowsに逆戻りです)

次は、LPIC2に挑戦だ!と息巻き、PCにVirtualBox(5.1.4)とVagrant(1.8.5)をインストールして実機でLinuxの勉強に取り掛かろうとしたその瞬間・・・

f:id:no14141:20160827080658j:plain

何度やっても、PCがクラッシュ(ログはKernel-Power41のみ)。
VirtualBox単体で試しても、同様の結果だったので、どうやら、VirtualBoxの仮想OS起動時に発生しているようです。

これは、困った。。。俺はただLinuxコマンドを勉強したいだけなのに。

Windows10 Anniversary Update適用済みだったので、新機能の「Bash on Ubuntu on Windows」を使う手も考えたのですが、慣れ親しんだCentOSでやりたいのもあります。

いや待てよ。そういえば「Docker for Windows」を先月末にリリースされたんだっけ!?
というわけで、「Docker for Windows(Ver1.12)」をPCにインストールすることになりました。(長い前置きでしたね。。。)

Docker for Windowsインストール

まずは事前作業として、Hyper-Vを有効化せよとのこと。正直、Hyper-Vを試したことはありません。
「プログラムと機能」→「Windowsの機能の有効化または無効化」を確認してみると、すでにHyper-Vは有効化になっていました。Windows10ではデフォルトで有効になっているのでしょうか?

次にDockerのインストーラーをダウンロードしました。下記のリンクから取得できます。

https://www.docker.com/products/docker#/windows

「InstallDocker.msi」をクリックで簡単にインストールできました!

「Docker for Windows」のアイコンをクリックしてみます。

f:id:no14141:20160827084105j:plain

すると、タスクトレイにくじらが泳ぎ始めます。

f:id:no14141:20160827084313j:plain

これで準備完了!?

コマンドプロンプトPowerShellで、確認してみると・・・

> docker -v
Docker version 1.12.0, build 8eab29e

オッケー、オッケー!!! 無事にdockerの起動に成功しました。

CentOSコンテナ作成

まずは、CentOSの最新版のDockerイメージを取得。

> docker pull centos:latest

> docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
centos               latest              970633036444        3 weeks ago         196.7 MB

次に、docker runでコンテナ作成・実行します。

> docker run -it --name mycentos centos /bin/bash
[root@f84680d43af6 /]# 

これでcentos7のコンテナの中に入ることができました!
試しに、vimを導入してみる。

[root@f84680d43af6 /]# vim
bash: vim: command not found
[root@f84680d43af6 /]# yum -y install vim
:
[root@f84680d43af6 /]# exit

再接続は、docker attachで。初回接続時に導入したvimもきちんと残っています。

> docker attach mycentos
[root@f84680d43af6 /]# yum list installed | grep vim
vim-common.x86_64                      2:7.4.160-1.el7                  @base
vim-enhanced.x86_64                    2:7.4.160-1.el7                  @base
vim-filesystem.x86_64                  2:7.4.160-1.el7                  @base
vim-minimal.x86_64                     2:7.4.160-1.el7                  @CentOS

これでDocker上のCentOSコンテナでLinuxの勉強をする準備が整いました。
このやり方以外で便利なものもたくさんあるのでしょうが、Dockerにしろ、Linuxにしろ、ひとつずつやりながらマスターしていく必要がありそうです。

おまけ:Docker起動でのエラー

別のスペックの低いPCでもDockerを入れてみましたが、そのときに発生したエラーをまとめておきます。

Not Enough memory to start Docker

f:id:no14141:20160825122118j:plain

PCのメモリが4GBと少ないから発生したエラーでしょうか。「Settings」の「Advanced」でメモリサイズを1536MB(デフォルトは2048MB)へ変更したら、無事に起動できました。ベストなサイズがどの程度かはわかりません。。。

f:id:no14141:20160825122334j:plain

The VM couldn't get on IP address

f:id:no14141:20160826080736j:plain

VMIPアドレスが設定できないというエラー。よくわかりません。dockerをexitして、リトライしたら、普通に起動できました。原因は正直、わかりません。