Dockerでサーバーの開発環境を作ってみたけど、間違っているだろうか?
MacでPHP+MySQLな開発環境を構築したくて、いまどきな方法で環境構築しようと、Dockerに手を出したサーバーダンジョンルーキーのお話。
01) DockerでApache+PHP+MySQLな環境を作るために関連する記事を捜索する
macのdockerでLAMP環境を作る
http://qiita.com/74th/items/41393f506d223850f2c3
dockerのデータボリュームとそのバックアップ方法
http://qiita.com/saisai/items/ac8873d03e31b34c6209
DBはちゃんとしとかないと消えちゃうので、対策は必要だとして。。。
うーん。APP(OS+Apache+PHP)とDB(MySQL)とphpmyadminで、それぞれコンテナを分けたほうが良いの?よくわかんない。。。
Docker Hubのオフィシャルイメージを使ったLAMP環境(Apache+PHP+MySQL)構築
http://qiita.com/naga3/items/be1a062075db9339762d
とりあえず、お試しだし、まとめてズバット導入してみよう!
02) Dockerのコマンドとかも目を通しておく
いろんな記事を読んでてもよくわかんないことあるので、参照するページをメモ
Dockerの基本となるコマンド
http://uxmilk.jp/33906
03) で、結局どうすりゃいいの?
Dockerで、OS、Apatch+PHP、MySQLの3つのイメージをダウンロードしてきて、コンテナにすれば良いみたい。。。
PHPって、バージョンいくつで開発したら良いのかな?
とか考えながら、ネット漂流してたどり着いた先。。。
【超簡単】Docker でモダンな PHP 開発環境を作る (PHP, MySQL, PHP-FPM, nginx, memcached)
http://koni.hateblo.jp/entry/2017/01/28/150522
なになに、「Docker を使ってコマンド一発で作られるようにした」って書いてる!まじかー!
04) よくわかんないけど騙されたと思ってやってみよう!
上記のgithubからcloneしてきて、次のコマンドを実行する。
$ cd docker-php-nginx-mysql-memcached/docker
$ docker-compose up
次のようなログを出力して止まる(正直、インストールに失敗したのだと思って焦りました。。。
mysql | 2017-05-02T08:38:10.156735Z 0 [Note] Beginning of list of non-natively partitioned tables
mysql | 2017-05-02T08:38:10.846609Z 0 [Note] End of list of non-natively partitioned tables
ログの出力が止まったら、ブラウザを起動して http://localhost/ へアクセスする。
ブラウザに次のような表示が出たら成功です。
Hello! World!
array(2) { [0]=> string(1) "1" [1]=> string(19) "2017-05-02 08:49:30" }
まとめ
僕にもできた
ほんとにコマンド一発で動く環境ができてしまった。。。Dockerすごーい!
Apache+PHP+MySQLじゃなくて、nginx+PHP-FPM+MySQLじゃないか?
そうだね。俺も何を言われてるのか、どうしてこうなったのか、よく分かってないけど、動いたから良いんじゃないかな。。。
※PHP-FPMとは
http://php.net/manual/ja/install.fpm.php