dockerでWordPressローカル開発環境を作りました。

環境はMacとDocker for Macです。
この記事のやり方全くだめなので [Docker Compose で WordPress のテーマ開発環境を構築](https://qiita.com/pugiemonn/items/9a40762bbc9ec977fa02) を書きました。

# DockerのWordPressイメージ使用コマンドを実行します
hub.dockerのWordPressページ( https://hub.docker.com/_/wordpress/ ) を参考にコマンドを実行してみました。

```bash:WordPressイメージの取得
docker run --name some-wordpress --link some-mysql:mysql -d wordpress
Unable to find image 'wordpress:latest' locally
latest: Pulling from library/wordpress
386a066cd84a: Already exists 
269e95c6053a: Pull complete 

・・・ 略 

Digest: sha256:4eefa1b7fdce1b6e6953ca18b6f49a68c541e9e07808e255c3b8cc094ff085da
Status: Downloaded newer image for wordpress:latest
docker: Error response from daemon: Could not get container for some-mysql.
See 'docker run --help'.
```
wordpressがローカルになかったのでダウンロードが始まりましたが、エラーがでました。
ローカルにsome-mysqlというコンテナが無いとでています。MySQLのイメージが必要なのでしょう。

# MySQLのDockerコンテナを作成
DockerのWordPress用コンテナを作成します。

```bash:WordPressイメージの取得
docker run --name wordpress-mysql -e MYSQL_ROOT_PASSWORD=password -e MYSQL_USER=pugiemonn -e MYSQL_PASSWORD=password -e MYSQL_DATABASE=wordpressdb -d mysql
```
wordpress-mysqlというコンテナを作りました。`docker ps`を実行すると`wordpress-mysql`が起動していることを確認できます。


# 再度WordPressイメージ使用コマンドを実行
wordpressのコンテナを立ち上げてみます。

```bash:WordPressコンテナの起動
docker run --name pugiemonn-wordpress -p 8080:80 --link wordpress-mysql:mysql -d wordpress
ef203f6191fae131e4c2f61d7db60834435ebf23273c84497673ce742f165330
```
今度は立ち上がりました。`docker ps`で確認します。

```bash:WordPressイメージの取得
docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                    NAMES
4d6245668af1        wordpress             "docker-entrypoint.sh"   3 days ago          Up 2 seconds        0.0.0.0:8080->80/tcp     pugiemonn-wordpress
01739c7a1991        mysql                 "docker-entrypoint.sh"   3 days ago          Up 19 minutes       3306/tcp                 wordpress-mysql
```
wordpressとmysqlイメージからコンテナを立ち上げることができました。

# ブラウザから確認
`http://localhost:8080/` にアクセスします。

<img width="70%" alt="スクリーンショット 2016-12-13 11.27.22.png" src="https://qiita-image-store.s3.amazonaws.com/0/1624/0185ff28-1dcb-b6ac-92ea-dd4b650f9cbb.png">

WordPressのインストール画面が表示されました。やったね(☝ ՞ਊ ՞)

# おまけ
## コンテナの停止
WordPress用に立ち上げたコンテナを停止する場合はstopでコンテナを停止します。

```
docker stop pugiemonn-wordpress wordpress-mysql
```

## コンテナの開始
コンテナを作成しているので、立ち上げるだけで開発環境を立ち上げることができます。

```
docker start wordpress-mysql pugiemonn-wordpress
wordpress-mysql
pugiemonn-wordpress
```
`http://localhost:8080/`にアクセスするとWordPressの画面を確認できます。
<img width="408" alt="WordPress初期画面" src="https://qiita-image-store.s3.amazonaws.com/0/1624/af06c0ac-7a63-ecc6-40dc-760dcf327cd3.png">
よかった(☝ ՞ਊ ՞)

# ローカルのファイルをDockerコンテナと同期したい
良かったと思ったのですが、まだ開発環境には不十分でした。
ホストマシーンはMacなのでMacのファイルがDockerコンテナと共有されていないと使えません。

WordPress開発なので無難にWordPressのテーマ開発としましょう。

```bash:作業ディレクトリの作成
mkdir pugiemonn_theme
cd pugiemonn_theme
```
`pugiemonn_theme`という作業ディレクトリを作成しました。

## docker-compose.ymlを作成
docker-compose.ymlを用意します。
wordpressイメージを元にして、新しくイメージを作成します。

この記事は公開してしまいましたが、チャント動く [Docker Compose で WordPress のテーマ開発環境を構築](https://qiita.com/pugiemonn/items/9a40762bbc9ec977fa02) を書きました。

# 参考
* https://hub.docker.com/_/wordpress/
* http://unskilled.site/%E5%85%AC%E5%BC%8Fmysql%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%A7docker%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%AE%E9%80%A3%E6%90%BA%E3%82%92%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/