3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GameWithAdvent Calendar 2019

Day 18

docker導入のススメ

Last updated at Posted at 2019-12-18

  
この記事は「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などを活用して環境構築を手動でやる手間をなるべく省いていけたらなと思ってます!!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?