二度忘れた事を三度忘れないようにする

しがないフリーランスIT系エンジニア

DockerでPhalcon+mysql実行環境を構築する

dockerhubのものを使うのも味気なかったので自分でdockerfileを作ったのでメモ。

開発する際にローカルで動作確認するためのモノを想定しているので、いろんなサービス乗っけてます。

動くモノ Php5.5 phalcon1.3.4 nginx+Php-fpm mysql5.6 redis3

From centos:6
ADD conf /tmp/
RUN yum install -y epel-release && \
    Rpm -Uvhp iusrepo && \
    Rpm -Uvhp mysqlrepo && \
    Rpm -Uvhp nginxrepo && \
    Yum install -y wget vim git gcc make zip unzip re2c file zsh sudo && \
    Yum install -y php55u php55u-pdo php55u-devel php55u-mbstring php55u-apcu-devel php55u-pecl-igbinary php55u-pecl-jsonc-devel php55u-pecl-memcached php55u-mysql php55u-mysqlnd php55u-pecl-redis php55u-opcache pcre-devel && \
    Yum install -y mysql-community-server && \
    Yum install -y nginx php55u-fpm redis30u && \
    Cd /usr/local/src && \
    Wget cphalcon.zip && \
    Unzip phalcon-v1.3.4.zip && \
    Cd cphalcon-phalcon-v1.3.4/build/ && \
    ./install && \
    Cd ../../ && \
    Rm -rf phalcon* && \
    Rm -rf cphalcon-phalcon-v1* && \
    Echo 'extension=phalcon.so' >> /etc/php.d/50-phalcon.ini && \
    Chmod 755 /etc/php.d/50-phalcon.ini && \
    Mv /tmp/config /etc/config
CMD /bin/zsh

PHPは55を56にするとPHP56系が、Phalconは1.3.4を2.0.3に変えるとPhalcon2がインストールできます。

Dockerfileとおなじディレクトリにconfディレクトリを作成し、その中にnginx等の設定ファイルを置いて、ビルドは「docker build -t phalcon/test .」でok。 恐らく1gb弱のイメージができるので 「docker run --name phalcon-testy -p 8080:80 -p 8806:3306 -v /var/www/html:/var/www/html:ro -itd phalcon/test」 のような感じでコンテナを起動すればok。

場合によってCMDをENTRYPOINTに変えて運用したりする。

VPS・PaaS・IaaS比較と所感

(2016/11/17 GCE更新)

仕事用途よりも個人でゲームサーバを立てる、という視点で調べてみた。 最重要ポイントである日本リージョンがあるサービスを軽く調べた。 secdsがギリギリ稼動しそうなインスタンスで比較してみたが、 全く同等のものは無いのでそこは似たようなモノで比較。なお、Pingは東京から発信してます。

サービス 種類 費用 Ping
Amazon EC2 c3.large $0.128 /1 時間 6ms
Vultr 2CPU 2GBMEM 45GBSSD $0.024 /1 時間 4ms
Linode Linode 2GB $0.03 /1 時間 4ms
GoogleComputeEngine n1-highcpu-2 $0.069/1 時間 4ms

AmazonEC2は必要なときに必要なだけスケールアップ、スケールアウトが 容易に出来るので扱いやすいが、インスタンスのプランが仕事でも微妙に噛み合わない時が多い。

Vultrはスペック・Ping共に申し分ないサービスだが、 インスタンスを停止しても料金が発生するので、止めるならインスタンス毎消し去らないといけない。 動的に複数インスタンスを運用する場合のコストは割り切りか工夫が必要となる。

Linodeはまだ利用したことないので詳細はわかってないです。

GooglwCEは日本リージョンが来ていないけどAWSの対抗なんじゃないかと思って 調べてみたら、インスタンスのプランがよさげな感じで仕事でも使えそうだと思った。

なお、追加ストレージや帯域費用は別で、上記はインスタンスのみの費用なので動画配信とか帯域を 大量に必要とするようなモノを動かす場合は月額固定費用のサービスを利用することをお勧めします。