Windows10 Home 64bit でDockerするならWindows10 ProかBizspark!

Windows10のDocker要件

Windows10 HomeのDocker難民です。以前、Windows10(Virtualbox/Vagrant構築済)にDockerを立てると既存VMがコケる(2016年11月)で、Windows10 HomeでVirtualBox×Dockerで上手くいかなかった。あれから9ヶ月くらい過ぎた。その途中、Qiitaとかでも相変わらずヤバそうな雰囲気があるのは察知していた。でも、核心をストレートに突いた記事が少なくて、真剣に調べるのがめんどくさかった。ホストOSのVirtualbox仮想環境が破壊されてしまうのが怖くて避けてきました。でも、もう一度リベンジしました。『Virtualbox/Vagrant』も『Hyper-V/Dockerコンテナ』も両方使える頼もしいWindows10 Homeの開発マシンが欲しいです。Windows10におけるDockerは、仮想化ソフト選びの段階がややこしいのかな?と思っていましたが、もっと根っこの問題でした・・・。windowsのバージョン、edition、windows server OSかどうか、それらのホストOS情報を確認したうえで、ホストOS上のHyper-V利用可否を確認する必要が有ります。

超結論

Windows10 HomeではHyper-V使えない。つまり、Docker for Windows使えない。Windows10 professional(64bit)に格上げ買いしてください。Dockerのドキュメントに英語で書いてある、「除外editionsは、また今度!」みたいな言い回しは・・・。MicrosoftがWindows10 HomeでHyper-Vをサポートしなければあり得ないので、期待もしてはいけない。

※Virtualboxを使われていればご存知の方も多いと思いますが、HP(Hewlett Packard)のホストOSを使っている場合など、念のために、BIOS設定でCPUの仮想化支援機能の有効化を行っておく必要があります。

他、開発用途に限ってBizsparkを使うという手があります。Windows10 Home のDocker導入で長期苦戦してきているので、無駄にしない様に事のてん末を記します。Windows10でDocker構築するのは落とし穴が多過ぎる。死者多そう。ページビューと質の両立来い。笑。

Windows10ならDocker for windows+Hyper-V ?

日本語でググって、Windows10 ならDocker for Windowsで仮想化はHyper-Vというところまでは順調だった。でも、この時点でWindows10 Home editionでHyper-Vが使えないなんて知らない。そもそも、開発ホストOSがHomeを使っていて、HomeとProの境界線を意識したことがほとんど無かった。Azure Power Shellだって使えるし。とりあえず、Docker For Windows | Docker見てインストールを進めていた。しかし・・・。

Docker for windowsインストール中に怒られる

HyperV is not available on Home editions.Please Dokcer Toolbox. https://www.docker.com/products/docker-toolboxと、インストール途中に怒られる。『Home editionsでHyper-V使えねぇぞ!DockerToolboxのリンクはこっちだよ』という部分がHyper-V使えねぇけど、でも、DockerToolboxにまかせろ!おっけー!と、多くの日本人から誤解されまくってる気がする・・・。今、ググると、stackoverflowとかgithubとか、この付近、超カオス。英語圏でこの騒ぎ方なら日本人どうなる?

で、何も知らず、Docker Toolboxのインストール・・・。Docker Toolbox | Docker、しかし・・・。

Docker Toolboxに違和感

Docker Toolbox v17.06.0a-ce はインストール作業時に以下4つを入れるかどうか聞いてくる。

  1. Docker Compose for Windows
  2. Virtualbox
  3. Kitematic for Windows(alpha)
  4. Git for Windows

でも、Docker ToolboxはWindows10(Virtualbox/Vagrant構築済)にDockerを立てると既存VMがコケる(2016年11月)の苦い経験から、同梱のboot2dockerで、Virtualbox上にTiny Core Linux(軽量Linuxディストリビューション)を作り、軽量LinuxのVMの上にコンテナを乗っける、引き換えにVirtualbox/Vagrantの既存VMが起動しなくなった、共存できない事を知っている。Kitematicは、コンテナストアでマーケットプレイスみたいなvagrantboxのストアみたいなやつ。余分なものは要らん、お前(Docker Toolbox)がHyper-Vだけよこせ。勝手な事をするなDocker Toolbox!となってきた。boot2dockerが無くなっているのもおかしい。boot2docker同梱バージョンは過去のものと推測し、ググったら案の定、v1.12.2が出てきた。ちなみに本日、2017/08/05時点ではv17.06.0a-ceとなっている。ceはcommunity editionの略だと思う。

https://github.com/docker/toolbox/releases/tag/v1.12.2(たぶん2016年11月以前)

docker-windows10-02

dockerもdocker-machineもBoot2Dockerも今のDocker Toolboxには無い!Hyper-Vは当時から既に無い!

お前(Docker Toolbox)がWindows10のホストOSにHyper-Vだけを連れて来い。Docker for Windowsのインストーラがそう案内していた!お前(Docker Toolbox)は他の余分な仕事は絶対にするな!ホストOSマシンを汚すな!と思い、作業の進行をストップ。ものすごい違和感・・・。元来、Hyper-Vを連れてくるのはDocker Toolboxの仕事では無いのかも?と疑い始めました。

Windows10へのHyper-VインストールをMicrosoftの公式で確認

以下、Windows 10 上に Hyper-V をインストールするの画像です。Hyper-V × windows10 Home は天下のMicrosoft様によりますとアウトオブ眼中とのことです。下々の民には切ない一文。

Dockerインストール要件windows10

Hyper-Vロールは、Windows 10 Home にはインストールできません。

同じページ内に追い打ちをかける様に以下の文言もありました。

注: Hyper-V はオプション機能として Windows に組み込まれています。Hyper-V のダウンロードやインストール可能なコンポーネントはありません。

ついでに、https://docs.docker.com/docker-for-windows/install/#what-to-know-before-you-installでDockerインストール前に知っておくことがあった・・・。冒頭の画像です・・・。

Windows10のDocker要件

The current version of Docker for Windows runs on 64bit Windows 10 Pro, Enterprise and Education (1511 November update, Build 10586 or later). In the future we will support more versions of Windows 10.

2つ合わせて落ち着いて考える・・・。

Windows10のDockerはHyper-Vに依存している。Hyper-VはMicrosoftの『さじ加減』によってWindows10 Homeでは蹴られている・・・。

Docker開発者の皆さまの言葉が聞こえてきた・・・、

『俺らのせいじゃない!Microsoftに聞け!下々の民は余分なissue送ってくるんじゃねぇ!F●ck!』

これ、Qiitaやその他でググって危険信号が事前に警鐘されていても、windows10 Homeの日本人は特に死者多数じゃないだろうか。特に英語が苦手な日本人(私も)。IT後進国街道まっしぐら(悲)。ちなみに、windows serverの場合はWindows Containerというのがあるらしい。Windows10 proならDocker for windowsのインストール一発でいけるらしい。

QiitaのWindowsユーザが、Dockerを使おうとすると混乱するね。では、正解まで完結しない。惜しい。WindowsのOSのバージョンとか、Windows OSのエディションに応じたHyper-Vインストールの道筋を事前に明瞭化して、Home editionだけはDockerに対して募る片思いを玉砕される必要がある(笑)。

最近は、天から『windows開発は速度遅い、windows開発は速度遅い、windows開発は速度遅い、windows開発は速度遅い、windows開発は速度遅い、Mac買え、Mac買え、Mac買え、Mac買え、Mac買え、Mac買え、Mac買え、Mac買え』と言われている気がしてならない。解決するのか知らないけど・・・。ドケチ根性Windows10 Home派、危機がやって参りました、笑。Amazon様で欲しいものリストに登録しておこうか、笑。

Windows開発は、Mac開発に比べて新技術導入の初速がどうしても遅くなる、ググった時の日本語エントリーの数の肌感覚で、「そろそろやってみるか・・・」という判断は、多少効率がいいけど、やはり遅い。価格競争やマーケットシェアであほらしい疲弊合戦への途中参加を意味する。

windows10でDocker構築できた!というブログ記事をググって参考にする時の注意

その記事を書いた人、windows10 Prefessional(64bit)です。Windows10 Homeじゃない。

仮想化などの環境構築は技術力向上速度への影響が大きい

クラウドやネットワークや仮想化は技術力の向上速度と相関関係があると思う。phpだけやっていてもCだって出てくるし、composerだって出てくる。Virtualhost設定でhttpd.confやnginx.confも出てくる。カーネルを理解してFirewall設定だって必要になる。Linuxですね。さらに、仮想化した後、ゲストOSでパフォーマンスが足りなければボトルネックまでOSI参照モデルの7レイヤー全部に対してしらみつぶしに探す。

経験上、このへんのことが出来なければ、Windows10 homeのVirtualboxのWordpress開発環境は、まだまだ使いにくい、開発速度/開発効率が悪い。技術力向上速度や開発速度に影響する。仮想化まわりでコケルと異常に時間を失う時間泥棒で、モチベーションや開発そのものにも悪影響が出る。あらゆるプロダクト開発の可能性を奪う。技術の生命線だ。仮想化なしでは、IT業界で利益率高く生きていくのは難しいと思う。個人事業や零細企業など、規模が小さく人的リソースが少ないほど仮想化技術を素早く身に着けて高速開発に活かせる技術力が大事。

だから、某Microsoft社さん、Windows10 HomeのHyper-Vを解禁して~!Azureの使い手、増やしたいでしょ~w、よろしくです~。

ワードプレス/Azure/AWS/kintoneの開発/運用

コメントを残す

This site uses Akismet to reduce spam. Learn how your comment data is processed.