• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
dockerでImmutable InfrastructureなWordPressを考える
 

dockerでImmutable InfrastructureなWordPressを考える

on

  • 2,165 views

dockerでImmutable InfrastructureなWordPressを考えてみたよ by ConoHa の中の人

dockerでImmutable InfrastructureなWordPressを考えてみたよ by ConoHa の中の人

Statistics

Views

Total Views
2,165
Views on SlideShare
888
Embed Views
1,277

Actions

Likes
8
Downloads
13
Comments
0

6 Embeds 1,277

http://2014.kansai.wordcamp.org 1069
https://twitter.com 112
http://note.next-season.net 89
http://s.deeeki.com 4
http://pocketusercache.com.s3.amazonaws.com 2
http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    dockerでImmutable InfrastructureなWordPressを考える dockerでImmutable InfrastructureなWordPressを考える Presentation Transcript

    • dockerで Immutable Infrastructureな WordPressを考える 2014/06/08 塩原宏明 (GMOインターネット ConoHa担当) 1
    • 2 自己紹介 • 発表してる人 ‒ 塩原宏明 ‒ なんでも屋です •UI/UX、フロントエンド、 バックエンド、全般… ‒ VPS「ConoHa」(GMOインターネット) の中の人 •萌えキャラでサーバーを売る、 いま業界で いちばんよくわからないサービス
    • 3 dockerってなに? • https://www.docker.io/ • 捕鯨関係ですかね?(炎上案件)
    • 4 ぶっちゃけ説明(細けえことはいんだよ) • サーバーの中で、 さらに何台もサーバーを立てちゃうソフト • 優等生の質問 ‒ 「それってVPSとか?」 ‒ 「Vagrantみたいな?」 ‒ だいたいあってるけど、 もっとお手軽! •VPSやVirtualBox上でも動く • dockerで立てたサーバー=「コンテナ」
    • 5 dockerの特徴 • ファイルに定義を書くだけで サーバー(コンテナ)を作れる! ‒ Dockerfile • 定義を呼び出すだけでどんどんサーバーが 立ち上がる! • コンテナを終了させると元通り。 元に戻さない方法もある FROM centos RUN yum -y install telnet RUN yum -y install httpd CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
    • 6 なにがうれしいの? Dockerfileさえあれば どこに行っても 同じ環境のサーバーを使える! Dockerfileさえあれば どこに行っても 同じ環境のサーバーを使える! サーバーを 使い捨てる感覚で利用できる! サーバーを 使い捨てる感覚で利用できる!
    • 7 …よくわかんないよ • うちでこういうの配ってるんで参考にしてください • ConoHaブースか http://www.conoha.jp/
    • 8 Immutableなんとかってなに? Immutable InfrastructureImmutable Infrastructure 10回言うと舌噛む新手の buzzword…ではない 10回言うと舌噛む新手の buzzword…ではない どこででもすぐ使えて、 要らなくなったら捨てられるサーバー どこででもすぐ使えて、 要らなくなったら捨てられるサーバー できるんです。dockerならできるんです。dockerなら
    • 9 それってWordPressと関係あるの? • よくわかんないけどcore壊しました テヘペロ • 気が付いたらディレクトリがゴミだらけに なっていたぜ…言っていることがよくわから ねーと思うが、とにかく今さら掃除もでき ねーぜ… • なんか作るのにWordPressの環境構築す るのめんどくさい。もう何もかもめんどくさ い… WordPress あるあるネタ WordPress あるあるネタ
    • 10 WordPressのインフラ作っちゃえば? dockerでWordPressの動くコンテナをつくるdockerでWordPressの動くコンテナをつくる WordPressを使いたくなったらDockerでWordPressを使いたくなったらDockerで 壊したり飽きたら捨てて、新しいコンテナを利用壊したり飽きたら捨てて、新しいコンテナを利用 とにかくImm…みたいに使いまわせるよ!とにかくImm…みたいに使いまわせるよ!
    • 11 WordPressのDockerfileを作ろう! • ポイント ‒ DockerfileでWordPressを自動インストール するために「wp-cli」を使う •http://wp-cli.org/ ‒ Apache・MySQLと複数のデーモンを動かす ので「supervisord」を使う
    • 12 こんなDockerfileでWordPressコンテナ! FROM centos RUN yum install -y httpd php php-mbstring mysql-server mysql mysql-devel php-mysql python- setuptools RUN easy_install supervisor RUN mkdir -p /var/log/supervisor ADD supervisord.conf /etc/supervisord.conf RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && ¥ chmod +x wp-cli.phar && ¥ mv wp-cli.phar /usr/local/bin/wp RUN echo "NETWORKING=yes" > /etc/sysconfig/network RUN service mysqld start && ¥ mysqladmin -u root password password && ¥ mysql -u root -ppassword ¥ -e "CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8; ¥ grant all privileges on wordpress.* to wordpress@localhost identified by 'wordpress';" && ¥ cd /var/www/html && ¥ wp core download --locale=ja && ¥ wp core config --dbname=wordpress --dbuser=wordpress ¥ --dbpass=wordpress --dbhost=localhost --locale=ja && ¥ wp core install ¥ --url=http://example.com --title=example ¥ --admin_name=example --admin_email=example@example.com --admin_password=password CMD ["/usr/bin/supervisord"]
    • 13 付属品:supervisord.conf [supervisord] http_port=/var/tmp/supervisor.sock logfile=/var/log/supervisor/supervisord.log logfile_maxbytes=50MB logfile_backups=10 loglevel=info pidfile=/var/run/supervisord.pid nodaemon=true minfds=1024 minprocs=200 [supervisorctl] serverurl=unix:///var/tmp/supervisor.sock [program:httpd] command=/usr/sbin/httpd -D FOREGROUND [program:mysqld] command=/usr/bin/mysqld_safe
    • 14 こんなふうに使うよ! ビルドしてから… # docker build -t wordpress ~/docker/wordpress コンテナを起動! # docker run -p 80:80 -d wordpress dockerの環境と さっきのDockerfileさえあれば、 どこでも 「WordPress使い捨て環境」 ができる!
    • 15 …すみません。もうありました • 実際にはこんなめんどくさい設定をしなくても、 dockerでWordPressは試せる • dockerではいろんなソフトが入った「イメージ」 (ディスクみたいな感じ)も提供されている • WordPress入りのイメージも提供されている • 試すだけならDockerfileから書く必要はない
    • 16 宿題 • 「あれ? コンテナ終了させたらWordPressのコ ンテンツが消える!」 • 対応方法 ‒ コンテナ終了時にデータを消さない方法もある ‒ コンテナのディレクトリを親サーバーのディレク トリにマウントする方法もある ‒ そもそもコンテンツはネットワーク越しに別のサ ーバー上に置いたら?
    • 17 遠くない未来予想図 docker盛り上がる(少なくとも開発畑では)docker盛り上がる(少なくとも開発畑では) コンテナ型のサービスが一般化していくコンテナ型のサービスが一般化していく WordPressのサ(おや?誰かきたようだ…)WordPressのサ(おや?誰かきたようだ…)
    • ご清聴 ありがとう ございました! 18