AWS ECSでdocker本番運用してみた話
- バレットガールズというゲームの話
- 平成最後の夏をバレットガールズ2のタイムアタックに捧げた
- そして3作目
- とんでもねえマゾゲーだった
- 収集要素の情報が一切ない
- 収集要素の情報を事細かに調査する???
- 2chの暇人どもに集めてもらおう
- 情報収集サイトを立ち上げた
- 集まった情報をもとにトロコンでき、11月にサービスクローズ
- 2019年1月
- 2019年2月
- 構成
- 本番用コンテナイメージのビルド
バレットガールズというゲームの話
- かわいい
平成最後の夏をバレットガールズ2のタイムアタックに捧げた
世界最速です
RTA in Japan Online 2に出るなどした
そして3作目
https://www.d3p.co.jp/bulletgirls_p/
PS4のゲーム
とんでもねえマゾゲーだった
- 収集要素がきつい
- トロコン率0.6%とかいう惨状
収集要素の情報が一切ない
オフィシャルコンプリートガイド(女の子の情報しかない)
収集要素の情報を事細かに調査する???
情報が集まるころにはトロコンしてしまい、意味がない
2chの暇人どもに集めてもらおう
情報収集サイトを立ち上げた
- 情報収集サイト
- 2018年9月初頭に1.5日で構築
- Laravel
- Laravelしか知らなかった
- EC2 Amazon Linux上に直接構築
- t2.microだったが、compose installでメモリ不足で死亡し
慌ててt2.smallに変更。ひどい散財だ
- t2.microだったが、compose installでメモリ不足で死亡し
集まった情報をもとにトロコンでき、11月にサービスクローズ
2019年1月
コンテナ運用を勉強し始める
2019年2月
- コンテナでリメイク
- ソースコード・環境
構成
開発
- bind-mounts
- ホストとコード共有
- ホストの変更がそのままコンテナに反映されるため、開発効率が良い
本番
- ホストとコード共有しない
php-fpm
コンテナイメージをビルドする時にCOPYしてそれっきり- ホストに依存しないため、ポータビリティが高い
- コンテナ実行時に
php-fpm
コンテナの/var/www
にcode_share
ボリュームの/var/www
をマウント - volumes
- ボリュームが空の場合、
php-fpm
コンテナの/var/www
は見えなくなるのではなく、
php-fpm
コンテナの/var/www
がボリュームの/var/www
にコピーされる - その後、
nginx
コンテナの/var/www
にボリュームの/var/www
がマウントされる - 結果、
php-fpm
のコードをnginx
と共有できる - 新しいコードを新しい
php-fpm
イメージに詰めた場合は、ボリュームを一度削除する必要があるdocmer volume rm
docker-compose down -v
本番用コンテナイメージのビルド
- これをどう作る
composer.json
からcomposerパッケージを取得するためだけにcomposerが必要package.json
からnpmパッケージを取得し、JS・CSSをビルドするためだけにnodejsやnpmが必要- 本番ではいらない
- 余計なもの入れてイメージを巨大にしたくない
- dockerイメージのプライベートリポジトリは容量課金(1GBまで無料?)
マルチステージビルド
composer.json
からcomposerパッケージを取得するためだけのイメージpackage.json
からnpmパッケージを取得し、JS・CSSをビルドするためだけのイメージ- 成果物だけを引っこ抜いて、本番用コンテナに詰め込む
- イメージが小さくてすむ