SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
PHP7 on Docker
てきとうなさいと。べぇたばん
ぼく、てきめん!
• 「てきとう」「めんどい」の略デス><
• Don t think, feel! and Laziness
• さいと: http://tekitoh-memdhoi.info
• twitter: @youkidearitai
• facebook: youkidearitai.yuya.hamada
• PHP界隈では0x27さい説のある27さいです
• ラジコンの人です
ぼく27さい(白目)
PHP7.0がリリース!
12がつ3にち
さっそくつかいたい!

運用したい!
PHP7.0をうごかす
• ぼくのサイトはDebian GNU/Linux Jessie
• 公式のPHPは5.6.9ベース
• ということは、deb(リポジトリ)を
• つくる
• さがす
• ソースコードをコンパイル
PHP7.0をうごかす
• ぼくのサイトはDebian GNU/Linux Jessie
• 公式のPHPは5.6.9ベース
• ということは、deb(リポジトリ)を
• つくる
• さがす
• ソースコードをコンパイル
よっしゃコンパイルじゃ
• 昔のぺちぱー(に限らないか)はコンパイルしてた
• しかし、サーバー上でコンパイルは自殺行為
• バージョン上げられない><
• 自家版debやrpmを作って運用もあった
• やっぱり公式リポジトリだよねヽ(^。^)ノ
Docker
昔の悲劇を繰り返してはならない。今はコレがある
コンパイルしたPHP7を

OSごとコンテナに

してしまえ
コンテナ内部
• apt-get install apache2 apache2-dev build-essential
autoconf libpq-dev libxml2-dev libicu-dev libdb-dev
libjpeg-dev libpng-dev libgif-dev libgd-dev libreadline-
dev libgd2-xpm-dev libcurl4-openssl-dev pkg-config
• ./configure ̶with-apxs2=/usr/bin/apxs ̶enable-
mbstring ̶enable-intl ̶with-pgsql=/usr/include/
postgresql ̶with-pdo-pgsql ̶with-gd=/usr/include/
̶with-jpeg-dir=/usr/include/ ̶with-png-dir=/usr/
include/ ̶with-readline=/usr/include/ ̶with-xpm-
dir=/usr/include/ ̶with-openssl
Dockerfile
FROM youkidearitai/php7-tmcmaker
RUN cd /var/www/htdocs/ && git pull origin master
VOLUME /home/vagrant/media_webroot /var/www/htdocs/cake/app/
media_webroot/
EXPOSE 80 80
env APACHE_RUN_USER www-data
env APACHE_RUN_GROUP www-data
env APACHE_PID_FILE /var/run/apache2.pid
env APACHE_RUN_DIR /var/run/apache2
env APACHE_LOCK_DIR /var/lock/apache2
env APACHE_LOG_DIR /var/log/apache2
env LANG C
ENTRYPOINT ["/usr/sbin/apache2", "-D", "FOREGROUND"]
ホスト側
• /etc/systemd/system/php7-tmcmaker.service
• ExecStart=/usr/bin/docker run -p 80:80 -v /home/
tekitoh/htdocs/cake/app/media_webroot:/var/www/
htdocs/cake/app/media_webroot -v /var/log/docker/
apache2:/var/log/apache2 -v /var/log/docker/
tmcmaker:/var/www/htdocs/cake/app/tmp/logs
youkidearitai/php7-tmcmaker:php7-tmcmaker
• 画像のアップロードとapache2・CakePHPのログをホス
トに書き出してるのである。
要は、こういうこと
というわけで
PHP7乗っけたぜ
うわ、やっべーわー、X-Powerd-ByヘッダでPHP7だっ
てバレちゃうわー、やっべー、あぶねー
デプロイ
デプロイの方法
$ sudo docker pull php7-tmcmaker
$ sudo docker build -t php7-tmcmaker:tmcmaker /
hoge/huga # Dockerfileのパス
$ sudo systemctl stop php7-tmcmaker
$ sudo systemctl start php7-tmcmaker
などをFabricにまとめて
$ fab deploy # でおしまいヽ(^。^)ノ
Docker運用して

気がついたこと
• ひとつのコンテナにひとつのプロセスが走る
• そのコンテナに異常があっても中に入るのは困難
• 画像やデータベースをDocker運用にしたらデータが
消えたりして多分死ぬ
• そのためのManage data in containers
• ログも書き出して置くべき
• build-essentialもぶち込んだので2GB位ある
ぶっちゃけ使う必要あるん?
• boycott dockerなんてページもあるくらい
• HackerNewsでtopに出るぞとかツイッターのフォローたく
さん来るぞとか
• ぼくのように「Docker使いましたイエー」とか
• PHP7を使いたいから使うんであって、Dockerを使いたいか
ら使うのではない><
• アプリケーションサーバーをコンテナにする意義はある。ソレ
以外はおすすめしない
まとめ
• PHP 7.0を使うならばこういうのもあるよ!!
• UbuntuやDebian、CentOSの公式パッケージを待
とうというのもあるよ!!
• Dockerの今後の進化を期待してます!

Contenu connexe

Similaire à Php7 on Docker on tekitoh-memdhoi.info

Real World PHP in pixiv
Real World PHP in pixivReal World PHP in pixiv
Real World PHP in pixivKenta USAMI
 
レンタルサーバで今すぐ始めるWEB開発
レンタルサーバで今すぐ始めるWEB開発レンタルサーバで今すぐ始めるWEB開発
レンタルサーバで今すぐ始めるWEB開発Naoyuki Kataoka
 
20111029 rubyon php
20111029 rubyon php20111029 rubyon php
20111029 rubyon phpdo_aki
 
初心者が伝えるDocker超入門
初心者が伝えるDocker超入門初心者が伝えるDocker超入門
初心者が伝えるDocker超入門chichi1091
 
composer-scriptsについて
composer-scriptsについてcomposer-scriptsについて
composer-scriptsについてHiraku Nakano
 
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったPHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったHironobu Saitoh
 
php-buildがいかに便利かを力説する
php-buildがいかに便利かを力説するphp-buildがいかに便利かを力説する
php-buildがいかに便利かを力説するYoshio Hanawa
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another ApproachDaisuke Miyakawa
 
2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私
2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私
2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私Yuta Hayakawa
 
WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?Shinichi Nishikawa
 
なんとかStormに負けたくないEmacs初級篇
なんとかStormに負けたくないEmacs初級篇なんとかStormに負けたくないEmacs初級篇
なんとかStormに負けたくないEmacs初級篇Kenta USAMI
 
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45civic Sasaki
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情Junichi Ishida
 
【祝9周年】第79回 PHP勉強会プレゼン資料:PHP向けフレームワークの「Risoluto」について
【祝9周年】第79回 PHP勉強会プレゼン資料:PHP向けフレームワークの「Risoluto」について【祝9周年】第79回 PHP勉強会プレゼン資料:PHP向けフレームワークの「Risoluto」について
【祝9周年】第79回 PHP勉強会プレゼン資料:PHP向けフレームワークの「Risoluto」についてYuta Hayakawa
 
PHP でも活用できる Makefile
PHP でも活用できる MakefilePHP でも活用できる Makefile
PHP でも活用できる MakefileShohei Okada
 
Hashicorpツールズ
HashicorpツールズHashicorpツールズ
HashicorpツールズUchio Kondo
 
PHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよPHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよMasaru Matsuo
 
4時間まったりWordPressテーマ作成講座
4時間まったりWordPressテーマ作成講座4時間まったりWordPressテーマ作成講座
4時間まったりWordPressテーマ作成講座Shinichi Nishikawa
 
Raspberry p ionzabbixproxy
Raspberry p ionzabbixproxyRaspberry p ionzabbixproxy
Raspberry p ionzabbixproxy2bo 2bo
 

Similaire à Php7 on Docker on tekitoh-memdhoi.info (20)

Real World PHP in pixiv
Real World PHP in pixivReal World PHP in pixiv
Real World PHP in pixiv
 
レンタルサーバで今すぐ始めるWEB開発
レンタルサーバで今すぐ始めるWEB開発レンタルサーバで今すぐ始めるWEB開発
レンタルサーバで今すぐ始めるWEB開発
 
Phpのはなし
PhpのはなしPhpのはなし
Phpのはなし
 
20111029 rubyon php
20111029 rubyon php20111029 rubyon php
20111029 rubyon php
 
初心者が伝えるDocker超入門
初心者が伝えるDocker超入門初心者が伝えるDocker超入門
初心者が伝えるDocker超入門
 
composer-scriptsについて
composer-scriptsについてcomposer-scriptsについて
composer-scriptsについて
 
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったPHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
 
php-buildがいかに便利かを力説する
php-buildがいかに便利かを力説するphp-buildがいかに便利かを力説する
php-buildがいかに便利かを力説する
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
 
2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私
2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私
2015/08/08 第8回G-Study発表資料-部屋と自宅サーバと私
 
WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?
 
なんとかStormに負けたくないEmacs初級篇
なんとかStormに負けたくないEmacs初級篇なんとかStormに負けたくないEmacs初級篇
なんとかStormに負けたくないEmacs初級篇
 
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
 
【祝9周年】第79回 PHP勉強会プレゼン資料:PHP向けフレームワークの「Risoluto」について
【祝9周年】第79回 PHP勉強会プレゼン資料:PHP向けフレームワークの「Risoluto」について【祝9周年】第79回 PHP勉強会プレゼン資料:PHP向けフレームワークの「Risoluto」について
【祝9周年】第79回 PHP勉強会プレゼン資料:PHP向けフレームワークの「Risoluto」について
 
PHP でも活用できる Makefile
PHP でも活用できる MakefilePHP でも活用できる Makefile
PHP でも活用できる Makefile
 
Hashicorpツールズ
HashicorpツールズHashicorpツールズ
Hashicorpツールズ
 
PHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよPHP カンファレンス 2014 に行ってきたよ
PHP カンファレンス 2014 に行ってきたよ
 
4時間まったりWordPressテーマ作成講座
4時間まったりWordPressテーマ作成講座4時間まったりWordPressテーマ作成講座
4時間まったりWordPressテーマ作成講座
 
Raspberry p ionzabbixproxy
Raspberry p ionzabbixproxyRaspberry p ionzabbixproxy
Raspberry p ionzabbixproxy
 

Php7 on Docker on tekitoh-memdhoi.info