#39 Win10 ProにDockr for Windowsをインストする話

icon パンダさん was written at Dec 20, 2018 7:27 PM ( icon パンダさん was updated at Feb 14, 2019 9:01 PM <History> )
  Edit(Sign in)
  Stock
  Answer survey

  TOC

#38 のDocker Toolbox編に続いて今回はDocker for Windows編です。
今回もLinuxコンテナを起動するところをゴールにします。

■WindowsでDockerするための主な方法

  • Docker Toolboxを使う(VirtualBoxを使用する昔ながらの方法)
  • Docker for Windowsを使う(Hyper-Vを使用するWin10 Pro以上な方法)←今回はコッチ

参考にするサイトはこちらです。
http://www.atmarkit.co.jp/ait/articles/1609/01/news053.html
では、はじまりはじまりー。

用意したもの

  • Thinkpad X1 Carbon 2018年モデル
    • OS:Windows10 Pro バージョン1803
    • CPU:Intel Core i5 8250M 1.60GHz
    • メモリ:8GB
    • HDD:256GB
  • dockerに興味はあるが、いまだたまねぎ剣士なオジサン

今回会社に転がってたマシンを使ってないのは最低要件(下記)を満たしていなかったため。
これを満たしていない場合はDocker Toolboxを使ってくださいとのこと。

■Docker for Windowsの最低要件

  • 64bit版のWindows 10(バージョン1511、ビルド10586以降)、ProもしくはEnterprise/Educationエディション
  • Hyper-Vが利用できること
  • コンテナ実行用の仮想マシンには、メモリ2GB、ディスク60GB(容量可変タイプの仮想ディスクで、初期サイズは4GB程度)のリソースが必要

やりたいこと

Windows上で仮想Linuxマシン立ててdocker触りたい。
Docker Toolboxはの裏でVirtualBoxが動いたいたのであんまりパッとしない。
Docker for Windowsはそこら辺うまくやってサクサク動いてくれると嬉しいなぁ。

1.Docker for Windowsのインストール

このページから開始です。
clip-20181225200253.png
画面真ん中の「Download from Docker Hub」ボタンを押下してDocker Hubからダウンロードします。
よってDocker Hubアカウントが必要です。作りましょう。
サイズは538MB。結構大きいです。モバイル回線では辛いのでご注意を。

EXEファイルをダウンロードし終えたら実行しましょう。
ここら辺のインスト手順は冒頭の@ITサイトには書かれてなかったので、こちらを参考にさせていただきました。

Docker for Windows をインストールしCentOSを起動するまでの手順をまとめる
https://www.orangeitems.com/entry/2018/06/18/153510

このようにタスクトレイにクジラが現れて「running」していればインスト成功です。
clip-20190104144128.png

2.dockerの動作確認

Dockerを動かす前に、どれだけマシンリソース食ってるか見てみましょう。
Hyper-Vマネージャを起動すると、Dockerが作成した仮想マシンを確認できます。

検索で「Hyper」と打てば出てきます。

こちらがHyper-Vマネージャで、MobyLinuxVMが作成された仮想マシン。
clip-20190104145340.png

MobyLinuxVMの設定を開くとこんな感じ。

  • プロセッサー数:2
  • メモリ:2GB
  • ディスク:可変の最大60GB

まだ全然使ってないのでディスクは膨らんでませんが、メモリは起動しただけで持ってかれます。
ChromeとDockerだけで6GB使ってました。メモリ8GBマシンだと少し厳しいかも。

では #38 同様、Ubuntuコンテナを動かしてみようと思います。
コマンドプロンプト、もしくはPowerShellを立ち上げて「docker run hello-world」を打ってみます。

clip-20190104152653.png

はい、コネクションタイムアウトです。
セキュリティソフトのファイアウォールかな?ちょっと調べます。
→ファイアウォールではなくDNSでした。
 エラーメッセージをググって出たこちらのサイトで解決です。

DockerでのDNS設定後、Hello WorldしてUbuntuコンテナ起動できたところがこちら。
clip-20190104164832.png

はい、OKそうですね。このあと無事にLinuxコマンド受け付けるのを確認できました。

まとめ

#38 と本記事 #39 にて、WondowsでDocker上Linux仮想マシン起動について2つの方法を確認しました。
少し触ってみた感じですが、Docker ToolboxよりもDocker for Windowsの方が
余計なツール(VirtualBox)が入らないぶんサクサク動いている気がします。
実際Docker for WindowsはHyper-Vを利用して、より直接的なハード制御で高速化を実現しているそうです。
マシンスペックに余裕があるならば、Docker for Windowsの利用がオススメ。

さて、Dockerインストして起動しただけではいつまで経ってもたまねぎ剣士のままなので、
ここからもう少し踏み込んで記事をいくつかアップしていこうと思います。
情報を順序よく体系立てて吸収するためにこの本を買いました。会社の図書購入費補助を使って。

Docker/Kubernetes 実践コンテナ開発入門
https://gihyo.jp/book/2018/978-4-297-10033-9

2018年夏に出版された最近の本(本記事は2019/01に書いてます)で、いまDocker学ぶならこれがオススメなんですって。
この本を読んで「なるほどねー」と思ったところを適宜アップしてこうと思います。お楽しみに。

パンダ


 Comment
[Registration] Jan 9, 2019 1:33 PM [酒井 良介]
[Update] Jan 9, 2019 1:33 PM [酒井 良介]
icon

Dockerのインストール手順について、よくわかりました。
投稿ありがとうございました。

Dockerご利用中の皆様にひとつ相談ごとなのですが....
よくVMwareを使ってLinuxデスクトップOSをインストールして標準的な開発環境を構築し、配布可能にしていますが、VMディスクファイルが大きいし、起動等も重いし、時々不安定なので、なんとかDockerに移行したいと思っています。
開発環境は、例えばEclipse等のIDE、Postgres等のデータベース、構成管理ツール(SVN・GITクライアント)や、各種エディタ、SFTPクライアント等ツール類です。
ですが、以下の懸念を抱いています。

①環境を簡単に切り替えられるのはいいが、DBデータの永続化に設定が必要。
 参考URL:http://hatunina.hatenablog.com/entry/2018/10/16/080000
 上記サイトでは、ただ1か所だけ設定すれば永続化可能と記載されているが、DB以外にもデータの永続化のために色々なところに設定が必要か。
 それを開発メンバーはいちいちデータの保存場所を気にしないといけないのか。

②IDEやDB等、細かい設定もDockerでできるか。
 基本的にコマンドラインでやれる設定はDockerでできそうだが、通常GUIでやる設定はDockerでもできるのか。
 Dockerでcreateした初期環境から各自が独自にIDE等設定変更したい場合、いちいちDockerファイルに記述してcreateしなおす必要があるのか。

もし、Dockerでバリバリ開発環境を構築しては配布しておられる方がおられれば、上記についてアドバイスいただければ幸いです。


 Like! × 0  
Collapsed
[Registration] Jan 15, 2019 12:44 PM [パンダさん]
icon

酒井さんコメントありがとうございます。
でも長い、コメント長すぎるよ。
思いっきり後で読む扱いしてしまいました。

さて、回答になるかは微妙ですけど
今月Docker記事をあと2つは書こうとしてるのでちょいお待ちを。
DBも出てくるよ。お楽しみに。


 Like! × 0  
Collapsed



 Add Comment