19
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Windows 10 (Hyper-V) で Docker を使った Wordpress 実行環境を構築する

Last updated at Posted at 2017-01-22

Windows 10 で Docker を使った Wordpress 実行環境を構築したいと思います。
Docker for Windows では、Hyper-V という仮想マシンを使用しています。
Hyper-V は Windows 10 64bit Pro以上であれば使用できます。

環境

Windows 10 64bit Pro
Docker for Windows

Docker for Windows のインストール

下記サイトより Docker for Windows をダウンロードし、インストールします。

Stable 版を推奨します。
Docker for Windows のインストール中に自動的に Hyper-V が有効にされるため、
特に何かをする必要はありません。途中、Windows の再起動が必要です。

MobyLinuxVMの確認

Docker が使用する仮想マシン MobyLinuxVM が作成されていることを確認します。
コントロールパネルの管理ツールより、Hyper-V マネージャーを開きます。
Hyper-V マネージャーに MobyLinuxVM が表示され、実行中であることを確認します。

Dockerのバージョン確認

コマンドプロンプトで以下を実行します。

> docker version

Client と Server のバージョンが表示され、Server の OS/Arch が Linux になっていることを確認します。

Client:
 Version:      1.13.0
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   49bf474
 Built:        Wed Jan 18 16:20:26 2017
 OS/Arch:      windows/amd64

Server:
 Version:      1.13.0
 API version:  1.25 (minimum version 1.12)
 Go version:   go1.7.3
 Git commit:   49bf474
 Built:        Wed Jan 18 16:20:26 2017
 OS/Arch:      linux/amd64
 Experimental: true

Linux になっていない場合は、タスクトレイに表示される Docker アイコンを右クリックし、
Switch to Linux container... を選択します。
Server の OS/Arch が Linux になっていないと、下記のエラーが出ます。

docker: image operating system "linux" cannot be used on this platform.

シェアドライブの割り当て

タスクトレイに表示されるDockerアイコンを右クリックし、Setting... を選択します。

012201.PNG

Shared Drives より、Docker で使用するドライブをあらかじめ選択しておきます。

Docker Compose のインストール

下記サイトより docker-compose-Windows-x86_64.exe をダウンロードし、実行します。

Wordpress コンテナの作成

wordpress 用の適当なフォルダを作成します。

D:\Docker\my_wordpress

そのフォルダ配下に docker-compose.yml というファイルを作成します。
テキストエディタで以下の内容をコピーします。

docker-compose.yml
version: '2.1'

services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_PASSWORD: wordpress

volumes:
  db_data:

コマンドプロンプトで以下を実行します。

> cd D:\Docker\my_wordpress
> docker-compose up -d

docker-compose の -d オプションはバックグラウンドで実行するという意味です。

Creating network "mywordpress_default" with the default driver
Creating volume "mywordpress_db_data" with default driver
Pulling db (mysql:5.7)...
5.7: Pulling from library/mysql
5040bd298390: Already exists
55370df68315: Pull complete
fad5195d69cc: Pull complete
a1034a5fbbfc: Pull complete
84bedc72ed3a: Pull complete
10981627b57d: Pull complete
0eb1485c660d: Pull complete
e3ee110bb981: Pull complete
01dd88d2ce4f: Pull complete
a08baf9a1c89: Pull complete
2f844a59fb03: Pull complete
Digest: sha256:79690dd87d68fd4d801e65f5479f8865d572a6c7ac073c9273713a9c633022c5
Status: Downloaded newer image for mysql:5.7
Creating mywordpress_db_1
Creating mywordpress_wordpress_1

Wordpress のコンテナ確認

コマンドプロンプトで以下を実行します。

> docker ps

MySQL と Wordpress のコンテナが実行されていることを確認します。

CONTAINER ID        IMAGE               COMMAND                  CREATED                  STATUS              PORTS                  NAMES
beb0dee84683        wordpress:latest    "docker-entrypoint..."   Less than a second ago   Up About an hour    0.0.0.0:8000->80/tcp   mywordpress_wordpress_1
326633e3e057        mysql:5.7           "docker-entrypoint..."   Less than a second ago   Up About an hour    3306/tcp               mywordpress_db_1

ブラウザから確認

以下のアドレスに移動し、Wordpress の画面が表示されればOK。

まとめ

Docker for Windows が昨年夏ごろ正式リリースされたばかりということもあって、
2017年1月現時点では、Windows 10、Hyper-V 上での Docker は情報収集という面において困難なのは事実です。
ですが、VirtualBox から Windows 標準の Hyper-V をネイティブサポートした Docker は
非常に軽快に動作し、Windows ユーザーにとってパフォーマンス面で魅力的なコンテナ型仮想環境です。

[参考]

https://docs.docker.com/docker-for-windows/
https://docs.docker.com/compose/wordpress/

[補足] Hyper-V に外部ネットワークを追加

コントロールパネルの管理ツールより、Hyper-Vマネージャーを開きます。
仮想スイッチマネージャーを選択します。
新しい仮想ネットワークスイッチから外部の仮想スイッチを作成します。名前は好きに付けてOK。

Hyper-V マネージャーの MobyLinuxVM の設定を選択します。
ハードウェアの追加、ネットワークを選択し追加します。
仮想スイッチに先ほど作成した外部の仮想スイッチを選択します。
Docker のコンテナから外部ネットワークにアクセスできるようになります。

[補足] Kitematic のインストール

Docker の GUI ツール Kitematic をインストールします。
タスクトレイに表示される Docker アイコンを右クリックし、Kitematic をダウンロードします。
下記フォルダに解凍、配置します。

C:\Program Files\Docker\Kitematic

タスクトレイに表示される Docker アイコンを右クリックし、Open Kitematic... で起動します。

19
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?