Drip 'n' Snip

ドリップン・スニップ

あなたの生活役立つWEB情報イッパイお届け
docker

WordPress環境をローカルで、超簡単に構築!Docker for mac


こんにちは、今回はWordpressを使って業務をしている方、もしくは趣味でpluginなどを開発されている方向けの記事です。

さて、VagrantとMAMPのいいとこ取りでは?と長らく騒がれていたDockerに、最近for macとfor windowsが出ました。
今まではLinuxでしか動かなかったため、Macで使うにしても、Windowsで使うにしても、基本的にはVirtualBoxか何かを使って仮想環境を構築し、その上でLinux系のOSを走らせて、その中でDockerを使う、という方法が一般的でした。

しかし時は流れ、MacやWindows上で直接Dockerが、しかも超簡単に使える時代がやってきたのです!!

Docker for macを使うと何が嬉しいの?

まず、Vagrantのupに数分〜数十分かかるのに対して、Dockerは立ち上がるのに数秒しかかかりません。
これは低スペックPCで作業をしている私などにとってはとても有り難いことです。

MAMPと比べると、最初から環境が構築されているイメージが使える、というのがとても大きいです。
また、仮想環境なので自分のOSが汚れない、仮想環境が汚れてしまった場合はまた数秒で捨てて新しいものを作りなおすことが出来るというのも見逃せません。

複数のDockのイメージ同士を連結して作業出来る…という利点もありますが、Wordpressの環境構築には(少しは役立ちますが)大活躍しないので、とりあえず置いておきましょう。

準備するもの

・Docker for mac
ここからダウンロード出来ます

以上です!

使い方1.MySQL用のコンテナを作成する

Docker for macをダウンロードしたら、アプリケーションフォルダにコピーして、起動します。
(ツールバーにクジラのアイコンが出現します。)(可愛い)(←カリー化)

次に、ターミナルを立ち上げて

docker run --name db -e MYSQL_ROOT_PASSWORD=password -d mysql:5.7

のコマンドを実行します。
-nameの後の db の部分が名前になります。同じ名前で複数立ち上げることは出来ないので、複数の環境を一度に構築したい場合にはdb1、db2など名前を変えてあげましょう。
次に、MYSQL_ROOT_PASSWORD= の後に、mySQLのルートパスワードを入力します。
これがDocker内のmySQLを開く際のパスワードになるので覚えておきましょう。

最後に、-d の後にイメージの名前 :の後に「タグ」と呼ばれる、バージョンなどを表す識別子を入れてあげます。
https://hub.docker.com/で現在使えるイメージを確認することが出来ます。
さて、このコマンドを実行すると、mySQLが動く仮想コンテナが出来上がります。
しかし、これではまだMySQLが動いているだけなのでWordressを使うことは出来ません。
たったこれだけでMySQLが動く仮想マシンが出来るってだけで、かなり凄いんですけどね!

使い方2.Wordpress用のコンテナを作成する

wordpress用のコンテナはそのままにしておいて、次にこのコマンドを実行します

docker run --name wpDock --link db:mysql -p 8080:80 -v /localのパス:/var/www/html -d wordpress

例によって --nameの後の名前は好きに変更して大丈夫です。
ただし! --linkの後の db:mysqlは、先ほど立ち上げたmysql用のdockと同じ名前でないといけません。

また、 -v /localのパス:/var/www/htmlの部分で、wordpressがインストールされるフォルダを、macのどこかのフォルダと共有する設定をしてあげています。
つまり、この指定したパスに、wordpressの中身が入ります。
そして、あたかもmac上でwordpressが実行されているかのように、それらのファイルを編集したりすることが出来ます!
MAMPでもVagrantでも出来ましたが、こんなにスピーディにこの仮想環境が手に入るのは驚きです。

使い方3.停止したり再開したり

Dockerを使い終わったら、

docker stop dock名

で動作を停止させる事が出来ます。
また、

docker start dock名

で、停止していたdockを再度起動することができます。
不要になったdockは、

docker rm dock名

で簡単に削除することが出来ます。

また、現在あるコンテナ全ての名前や状態を確認するには、

docker ps -a

コマンドを実行すればokです。

使い方4.仮想マシンのターミナルにアクセス

docker exec -it dock名 /bin/bash

これで、各dockのターミナルにアクセスすることが出来ます。

まとめ

さて、いかがでしたでしょうか。
使ってみるととっても使い勝手が良いことが判ります。
こりゃ流行るわけだ〜と関心してしまいました。

皆さんも是非使ってみてくださいね!

NEXT
p5.jsでwebページにアニメーションを作ろう - 06 目標と配列

  関連記事

artboard
【2016年版】レンタルサーバ3選!/個人でブログを始めるなら?【初心者必見】

さて、前回副業としてブログを始めるにはどうしたらよいか、という記事を書きました。 ...

artboard
あのTinypngが自動でかかる!Compress JPEG & PNG imagesが便利すぎ

こんにちは、楽をするためにはどんな努力でも惜しまないタイプの僕ですが、努力が報わ ...

statistics
人前で口に出来ない…そんなWordPress用アクセス解析プラグイン

その名もstatistics!!! 言いづらい。 今回は、噛むこと必至の超高機能 ...

esa-io
【動画あり】esa.io!Markdownが使えて、共有が出来る!日本が産んだゆるふわwebサービス

こんにちは、僕です。 これまでもQuiverやConfluenceなど、Mark ...

csvjs
CSVファイルの加工を自動化したい?JavaScriptでやりましょう。

こんにちは! 今回はちょっとエンジニア向けの記事になります。 JavaScrip ...

-WEB開発