Windows 10 に Docker Desktop をインストールして使ってみたメモ。

 

 

Windows 環境で WordPress の開発環境を整えるのは XAMPP (ザンプ) という、

  • Apache
  • MySql (MariaDB)
  • PHP
  • Perl

等のソフトウェアをインストールする必要がありました。

Linux 等の UNIX 系の OS であれば、この環境を整えることについてそんなに難しい問題はありませんが1、Windows で行うのにはブログの記事がいくつか書けるくらいの面倒臭さがあります(もしかすると「ありました」、かもしれませんが・・)。

他にも、VirtualBox 等のソフトで、Linux サーバー をゲストで起動して、という方法もあります。

まあ、Windows 10 であれば、WSL を使えばいい、っていう意見もあると思いますが・・

Docker (Windows においては Docker Desktop) を使用すると、かなり簡単に先の XAMPP に似た環境を短時間に作成することができます。

もし、以下に示すシステム要件に合う Windows 10 を使っているユーザーであれば、一度検討してみると良いかもしれません。

 

スペック

まず、今回私が Docker Desktop を導入した環境を示します。

  • Windows 10 Pro 64bit (バージョン 1909)
  • CPU AMD Ryzen7 2700
  • メモリ 32GB

 

システム要件

ここで、最低でも必要なシステム要件を示します。

  • Windows 10 64-bit: Pro、Enterprise or Education2
  • Hyper-V が有効になっていること
  • 次のハードウェア要件
    • SLAT に対応した 64-bit プロセッサー
    • 4GB のシステムメモリ
    • BIOS レベルのハードウェア仮想化サポートが有効になっていること

普段私は個人の PC にも Windows の Pro エディションを使用しているので問題ありませんが、一般的には、家庭用の PC には Home エディションが多いかと思います。Home エディションの場合は、Windows 10 バージョン 2004 以降で WSL2 の導入が必要です2

 

SLAT って何?

Second Level Address Translation の略でメモリ管理を仮想化できる技術のことで、Intel であれば、Intel VT-x with Extended Page Tables (EPT)、AMD であれば、AMD Rapid Virtualization Indexing (RVI) に対応している必要があります。

最近の CPU であれば問題ないと思いますが、確認したい場合は CPU の型番で検索してスペックを確認する必要があります。

 

仮想化が有効になっているか確認

コマンドプロンプトを管理者で開いて、systeminfo コマンドを実行して、「Hyper-V の要件:」という項目がすべて 「Yes」であるかを確認します。

いずれかの項目に、「No」である場合は、BIOS/UEFI のセットアップ画面で仮想化に関する項目を有効にする必要があります。

BIOS/UEFI セットアップについては、各マザーボードメーカーや、ベンダーによって異なってきますので個々に例示することはしません。ひとまず、ググっていただいて確認することをおすすめします。

 

Hyper-V 有効化

Hyper-V の要件を満たすことができたら、次は 「Hyper-V を有効化」します。

Hyper-V を有効にする方法は複数あります。以下の例を参考に、好みの方法で有効化してください。

 

PwoerShell で Hyper-V を有効に

管理者として PowerShell を開いて次のコマンドを実行します。

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

 

CMD で DISM を用いて Hyper-V を有効に

コマンドプロンプトを開いて、次のコマンドを実行します。

DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V

 

Windows の機能の有効化または無効化 で Hyper-V を有効にする

Hyper-V を有効にするには、以下のようにします。

  1. Windows ボタンを右クリックして、「アプリと機能」をクリック
  2. 右側の「関連設定」にある 「プログラムと機能」 をクリック
  3. 「プログラムと機能」の左側にある 「Windows の機能の有効化または無効化」 をクリック
  4. Hyper-V」にチェックを入れて、「OK」します。
Windows の機能の有効化または無効化: Hyper-V を有効にする

Windows の機能の有効化または無効化: Hyper-V を有効にする

この後、再起動を促されるので、再起動します。

再起動後、Hyper-V は有効になります。

 

Docker Desktop for Windows のインストール

ここまできたら、あとはインストールするだけです。

Docker Desktop for Windows の本家サイト で、Docker Desktop をダウンロードします。

Docker Desktop for Windows のダウンロード

Docker Desktop for Windows のダウンロード

 

安定版の Stable と、開発版の Edge がありますが、私は Stable を選択しました。

インストーラーを実行すると、まず [Configuration] が出てきますが、これはこのまま「OK」をクリックします。

Docker Desktop for Windows のインストール

Docker Desktop for Windows のインストール

後は問題がなければ、あっという間にインストールは終わりますが、最後に再起動を促されるので、パソコンを再起動させます。

再起動してログオンした後、"Docker Desktop is running" という通知が出たら、Docker の準備はできています。

 

Docker の動作を確認する

Docker の準備ができたら、早速動作確認をしてみます。

コマンドプロンプトを立ち上げて、バージョンの確認をしてみます。

> docker --version
Docker version 19.03.8, build facb8b

 

・・そして、定番の Hello-world を実行してみましょう。

> docker run hello-world

 

すると、以下のように自動的にイメージを取得(pull)してコンテナを生成して実行されます。

"Hello from Docker!"

と表示されれば成功です。

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete                                                                                             Digest: sha256:d58e752213a51785838f9eed2b7a498ffa1cb3aa7f946dda11af39286c3db9a9
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

 

まとめ

というわけで、Windows に簡単に Docker を導入する方法を試してみました。

次回は、Docker-compose を使って WordPress の開発環境を整えながら、Docker の仕組みについても勉強してみたいと思います。

 

 


  1. そもそも、Linux、Apache、MySql、PHP/他 の頭文字をとって LAMP と呼ばれており、もともと Linux 環境とは親和性が高いし、Ubuntu Server ではインストールする機能セットの一つに、「LAMP サーバー」 という項目があって、簡単に構築できてしまいます。 

  2. Windows 10 Home の場合は、Windows 10 バージョン 2004 以降で、WSL2 を使って動作させるみたいです。詳細は 本家のドキュメント を参照。 


 
記事を共有する
カテゴリー: DockerWindowsWordpress

zaturendo

中小企業社内SE。

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。