この記事は「GameWith Advent Calendar 2019」の18日目の記事です
はじめに
今頃?って思う方たくさんいるかもしれませんが、
個人的には今年結構dockerを触っていたので実際に利用した例をもとにいくつか紹介したいと思います。
※コマンドや設定は実際に利用している内容からアレンジされています
目次
- 複数のバージョンのphpの挙動をチェックしたい
- assetsのビルド環境をdockerで作る
- 開発環境をdockerで構築する
複数のバージョンのphpの挙動をチェックしたい
背景
phpのバージョンアップをする際に色んなバージョンでそれぞれの挙動を確かめるときに簡単にチェックできます。
利用方法
家でちょっと確認するときにもコマンドで一発で実行できて楽です。
# php5.6で実行
docker run -it --rm --name my-php-script \
-v /Users/admin/Desktop/working:/usr/src/myapp \
-w /usr/src/myapp \
php:5.6-cli \
php test.php
# php7.3で実行
docker run -it --rm --name my-php-script \
-v /Users/admin/Desktop/working:/usr/src/myapp \
-w /usr/src/myapp \
php:7.3-cli \
php test.php
assetsのビルド環境をdockerで作る
背景
nodeを使っていると良くあるやつです。同じプロジェクト内でも別のnodeのバージョンが要求されるパターンが発生しました。
nodenvとか使って解決するのもアリですが、
手順書はなるべくコード化したい派なのでdockerが良いなと思っています。
利用方法
gulpの処理はこちらを参考にさせていただいています。
htmlやjsはなんでも良いです。(難読化されるだけなので
-
コマンド
$ docker-compose -f docker/docker-compose.yml up -d
$ docker-compose -f docker/docker-compose.yml exec gulp bash
# 初回や更新があった時だけ npm install
$ npm install
$ npm run build
これでローカルのnodeのバージョンにとらわれずビルドできます。
開発環境をdockerで構築する
背景
ローカル環境の作成に利用します。
本番をコンテナ運用する前提のプロジェクトだったのでdockerを採用しています。
利用方法
docker-composeを使います。
複数のミドルウェアが合わさって作られるサービスはdocker-composeを使うと構成が
わかりやすくて良いなと個人的に思います。
下記の例はphpのアプリケーションをphpmyadmin付きで作る場合の例です。
-
コマンド
$ docker-compose -f docker/docker-compose.yml up -d
- localhost、localhost:8080 が見れていればok
まとめ
dockerなどを活用して環境構築を手動でやる手間をなるべく省いていけたらなと思ってます!!