今年初め、10年ぶりに資格取得に挑戦しようと、LPIC1へ挑戦しました。
何とか合格することができ、「よっしゃー!」と当時は気持ちが高ぶったのですが、半年近くも経つと、あの時の気持ちの高ぶりはすっかり冷めてしまっておりました。
これではいかん!!
内的モチベーションを働かせ、約5年ぶりにPCも購入!(初Let's Note。MacからまたWindowsに逆戻りです)
次は、LPIC2に挑戦だ!と息巻き、PCにVirtualBox(5.1.4)とVagrant(1.8.5)をインストールして実機でLinuxの勉強に取り掛かろうとしたその瞬間・・・
何度やっても、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」のアイコンをクリックしてみます。
すると、タスクトレイにくじらが泳ぎ始めます。
これで準備完了!?
コマンドプロンプトや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
PCのメモリが4GBと少ないから発生したエラーでしょうか。「Settings」の「Advanced」でメモリサイズを1536MB(デフォルトは2048MB)へ変更したら、無事に起動できました。ベストなサイズがどの程度かはわかりません。。。
The VM couldn't get on IP address
VMでIPアドレスが設定できないというエラー。よくわかりません。dockerをexitして、リトライしたら、普通に起動できました。原因は正直、わかりません。