Dockerでwordpress開発環境を構築する(windows10 home)

docker

windows10 home+DockerToolBox+wordpressで環境作りました。
色々引っかかったところも載せつつ纏めました。
良かったら参考にしてください

環境

  • windows10 home
  • DockerToolBox

Hyper-vが使えないwindows7なども環境作れると思います。
ためしてないからたぶんだけど……
今回はapache、php、mariadb(mysql)はローカルにはインストールせずにDockerに環境を構築します。

開発ツール

1.Dockerをインストール

まずはDockerをインストールしていきます。

基本的にNextでいいですが「select Addtional Tasks」のところで バーチャルボックスをインストールしていない方はチェックしてください。 Install VirtualBox with NDIS5 driver[default NDIS6]


インストールできました。

動作確認

Kitematicを起動。 Docker Hubはアカウントなければスキップしていいです。

しばらく待ちます

左下にDOCKER CLIがあるのでクリック パワーシェルのウィンドウが開くので下のコマンドを実行


バージョンが表示されればインストールできました。

2.共有フォルダにDドライブの追加

C:\Users配下を共有フォルダで使うのであれば2はスキップしてください windowsメニューに「Oracle VM VirtualBox」が追加されているので、起動します。

defaultってのが今起動している環境です。実行中になっていると思います。
「設定」→「共有フォルダ」を選択すると初期値で「C/Users」が設定されています。
Cドライブはなんか嫌なのでDドライブに共有フォルダを作成します。

右クリックしてDドライブを設定します。

3.Docker-compose.ymlファイルの作成

コンテナをまとめて作成できるDocker-composeというのを使用します。
Docker-compose用にymlファイルを作成します。

Docker-compose.yml

ユーザーやパスワードは任意で変更してください docker-composeはvolumeは自動で消さないので特にDBも永続化していません。 というより、共有フォルダに作るのを何度も失敗してしまって諦めました……
ソースはD:\docker\wordpress\htdocs\sampleフォルダに出力するように指定してます。

4.コンテナの作成と起動

フォルダ構成

dockerの配下に移動してDocker CLIから実行します

イメージがダウンロードされコンテナを起動します。

イメージダウンロードでエラーが出る場合

上記のようなエラーが出た場合、 virtualboxを使用する場合、なぜかデフォルトで接続できないipが指定されていることがあります。 書き換えちゃいましょう

ワードプレスのコンテナ作成でエラーが出る場合

上記のようなエラーが出た場合、パスがうまく読み込めてません。
windowsのパス(いわゆる\区切り)にどーも対応してないようなので、「.env」ファイルを作成します。 windowsで.ファイルを作成するには「.env.」ファイルを作ると作れます。

docker-compose実行場所。ここの例だと「d:\docker」に作成してください

.env

たぶんこれでエラーは解消されると思いますが、されない場合はぐぐってください

5.wordpress起動確認

http://localhost:8000
にアクセスしてください。起動しないと思います……
virtualboxはlocalhostではないのでvirtualboxのipを調べます

環境変数が表示されますがその中のDOCKER_HOSTに

とあります。この「192.168.99.100」がバーチャルボックスのipとなります。 https://it.apground.com
にアクセスするとwordpressの画面が表示されると思います。

6.Visual Studio Codeの設定

あまり書くことがないですが
d:\docker\wordpress\sampleフォルダにソースが出力されてます。
ここを選択してください。

7.a5m2の設定

接続タイプはMySQL/MariaDBを選択
ホスト名:192.168.99.100
ユーザーID:root
パスワード:password

ホスト名は「3.Docker-compose.ymlファイルの作成」で設定したMYSQL_ROOT_PASSWORDの値を設定します
パスワードは「5.wordpress起動確認」で調べたvirtualboxのipを指定します。

これで接続するとDBの中が見えました。