SlideShare a Scribd company logo
1 of 21
Download to read offline
PHP5→PHP7にバージョンアップをするに
あたって実感した
Docker 導入の素晴らしさについて
                        2018-11-26 (mon)
dip × istyle 合同勉強会
                      istyle 浦辺 隼介 (urabe shunsuke)
軽い自己紹介
# 名前
 浦辺 隼介(ウラベ シュンスケ)
# 特徴 
● 新卒入社2年目
● 最近は A-Beauty の運用開発を行って Laravel 開発の
修行中。
● 新しい技術が好き(最近は Docker , AWS)
● 乾杯から〆まで日本酒でいける程日本酒が好
○ 究極の肴は炊き立てご飯だと行き着く
@cosmeの多種多様なデータベースから、
エイジング世代に必要なコンテンツをピックアップ して提供す
ると共に、A-Beauty編集部が 各分野の専門家に独自取材し
た信頼性の高いオリジナル記事 を毎日配信するWEBマガジ
ンです。
目次
1. はじめに
2. ターゲット
3. 今回 話すこと
4. そもそも Docker って美味し(ry(復習タイム)
5. 今回 Docker に取り組んだ経緯
6. Docker 使ってみた
7. Laradock 使ってみた
8. 気づいた点
9. まとめ
初めに。。。
● 発表者といいながら自らも Docker 歴1週間の 若輩者です。
● 今回の発表は自分の理解の整理も目的にあります。
ご存知の方がいたらすみません。知らない方への参考になれたら幸
いです。
● 間違っている箇所等があれば、最後の質問タイムで容赦無くやさしく
いじめて頂けると幸いです。指摘大歓迎です。
ターゲット
● Docker を聞いた事はあるが具体的にどんなものか知りたい関心のある人
● インフラ周りをもっとスマートにしたい人
● チーム内で各々進める環境構築より素敵な方法を取り入れたい人
今回話すこと
今回は...
PHP5系→PHP7 バージョンアップをするにあたって Docker を触れて実感
した学んだ点・気づいた点について
以下2点
● 自分達で楽に環境を組み立てられる!インフラチームも負担が減る!
● そして PHP・Laravel バージョンアップのここが楽になった
をお話します。
今回話すこと
【ちなみに...今回構築した環境】
+
● PHP7.1
● Laravel 5.7
・・・
コンテナ/ イメージ のサイクルを管理する プラットフォーム的な OSS
構築 (build)・共有 (ship) し、配付されたアプリケーションを実行 (run) する
Run
Build Ship
+
その他ファイル
そもそも Docker って美味し(ry(復習タイム)
【Docker とは】
そもそも Docker って美味し(ry(復習タイム)
【Docker = クライアント・サーバ 型モデル】
Docker Host
Docker
クライアント
● Docker コマンド
● Docker-Compose
● DockerSwarm
コンテナ
Docker エンジン
(Docker デーモン)
コンテナ
コンテナコンテナ
イメージ
イメージ
イメージ
イメージ
Linux Kernel
OS
リモートAPI
そもそも Docker って美味し(ry(復習タイム)
プロセス・アプリケーションを
コンテナ化(分離)させ、
誰でもコンテナ / イメージを出し入れでき、
簡単&迅速に開発・ 共有・ 実行できる
プラットフォーム
【つまり】
今回 Docker に取り組んだ経緯
1VMのリソースのオー
バーヘッドが
大きい
1VMをサービスインする
為に複数のプロセスを
踏む必要がある
→ その多くは手動
マイクロサービス化に
伴いVMの乱立に繋
がっている
共有サーバで開発
を行っている為、
リソースのひっ迫
【抱えているインフラ面の悩み】
今回 Docker に取り組んだ経緯
今回の自分
Docker を用いて、
マイクロサービスの
環境を自分たちでスムーズに構築
できるように
開発環境
ステージング環境
本番環境
開発本部
インフラチーム負担軽減の為、
課題として
● インフラ面の工数削減
● 負荷問題対策
手段の一つとして、
Docker 化を推進!!!
AWS 移行推進!!!
今回 Docker に取り組んだ経緯
開発本部を始め、
部署に経験者やノウハウが
少ない...
今回 Docker に取り組んだ経緯
先輩が Docker を環境構築しながら 、初めて触って調査している間に ...
先輩も調査完了
【自分の作業経緯】
Befor
地道に PHP7 , Laravel 5.7へのバージョンアップ を手作業で構築してみた
⇒ かなり時間が掛かった (10~12人日)
  今までなんとなくの理解でできていたところで躓き咽び泣く
After
Docker 環境構築してみる
その上でコンテナを立てて起動し、同じ環境構築をしてみた
Docker 使ってみた
1. 公式に乗っ取り、 yum で 必要なパッケージと Dockerのレポジトリを追加 。
curl で docker-compose を入れる + 実行権を付与。
2. 適当な dir でDocker File を作成。サーバーが動く環境をここでしこしこ書きあげる。
3. docker-composer.yml にて、プロダクトの Path を設定。
4. nginx, php-fpm の設定。Composer 取り入れ、Laravel も準備する。
5. 構築ファイルのリポジトリを「 Git Hub」 or 「Git Lab」に大事にしまっておく。
6. これらをした上でやっと プロダクトを clone し、docker-compose やdocker コマンドで色々やっ
てく
【Virtual Machine 上で動かしてみる】
~]$# docker-compose build
~]$# docker-compose up -d
~]$# docker ps  で現在動いている dockerの id 確認
~]$# docker exec -it xxxx /bin/bash (xxxxのところに表示された idをいれて叩く)
今回 Docker に取り組んだ経緯
先輩が Docker 環境構築しながら 、初めて触って調査している間に ...
先輩も調査完了
【自分の作業経緯】
Befor
地道に PHP7 ,Laravel5.7 へのバージョンアップ を手作業で構築してみた
⇒ かなり時間が掛かった (10~12人日)
  今までなんとなくの理解でできていたところで躓き咽び泣く
After
Docker 環境構築してみる
その上でコンテナを立てて起動し、同じ環境構築をしてみた
⇒ だいぶ楽になり爆速。 30分でできる。
Laradock を使ってみたい人生だった
【自分の作業経緯】
Laradock 用いて用いてスマートに発表したかった(発表 2時間程前まで足搔いてた)
おいおい...その気になれば15分あればできんじゃないのこれと思った最中、 コンテナである “workspace”
がいつまでも 動かず “Exit 1”...
~]$# git clone https://github.com/laradock/laradock.git
~]$# cp env-example .env
nginx の設定を編集する。( 参考)
起動。これでなんと nginx と php-fpm が構築されたローカルサーバが立ち上がる
~]$# docker-compose up -d nginx mysql phpmyadmin redis workspace
workspaceにログイン
~]$# docker-compose exec workspace bash
な、なんとこの時点で Composer は入っている。ので、/var/www直下でプロダクト立ち上げる
~]$# composer create-project laravel/laravel app01
Laradock を使ってみたい人生だった
アドバイス・ご指摘
何卒宜しく
お願い致します...🙇
まとめ
● Docker ≠ コンテナ。
Docker = プロセス・アプリケーションをコンテナ化(分離)させたプラットフォーム
● サービスを腐敗させたくなかったら Docker 始めた方が良い。
⇒ DevOps の実現に近づく。
● 既存のものを共有することでマニュアルを用いた手作業よりも圧倒的に捗る。
● Laradock について詳しい尊い方教えてください ...
● 次回はもっとテクニカルな内容を発表できるように頑張ります
ご清聴
ありがとうございました

More Related Content

Similar to PHP5→PHP7にバージョンアップをするに あたって実感した Docker 導入の素晴らしさについて

Hello Girl's World!!@女子エンジニアLT会 #dotsgirls
Hello Girl's World!!@女子エンジニアLT会 #dotsgirlsHello Girl's World!!@女子エンジニアLT会 #dotsgirls
Hello Girl's World!!@女子エンジニアLT会 #dotsgirlsHikari Fukasawa
 
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話Shohei Tai
 
2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーション
2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーション2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーション
2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーションOperation Lab, LLC.
 
Go言語ハンズオン資料flagパッケージを使ってみる
Go言語ハンズオン資料flagパッケージを使ってみるGo言語ハンズオン資料flagパッケージを使ってみる
Go言語ハンズオン資料flagパッケージを使ってみるyoshito funayose
 
re:Invent2014の個人的まとめ
re:Invent2014の個人的まとめre:Invent2014の個人的まとめ
re:Invent2014の個人的まとめTakuya Tachibana
 
AWS で社内オンライン勉強会
AWS で社内オンライン勉強会AWS で社内オンライン勉強会
AWS で社内オンライン勉強会suno88
 
Word camp tokyo2014 わぷーステージ振り返り
Word camp tokyo2014 わぷーステージ振り返りWord camp tokyo2014 わぷーステージ振り返り
Word camp tokyo2014 わぷーステージ振り返りSosuke Eguchi
 
20200214 drupal-meetup-haneda
20200214 drupal-meetup-haneda20200214 drupal-meetup-haneda
20200214 drupal-meetup-hanedaAcquiaJP
 
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-Shinichiro Yoshida
 
Serverless Meetup Tokyo #2 オープニング
Serverless Meetup Tokyo #2 オープニングServerless Meetup Tokyo #2 オープニング
Serverless Meetup Tokyo #2 オープニング真吾 吉田
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版DIVE INTO CODE Corp.
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座DIVE INTO CODE Corp.
 
OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208学 松崎
 
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )Yuji Otani
 
DevOps 概要 - インフラ革命、今起きていること
DevOps 概要 - インフラ革命、今起きていることDevOps 概要 - インフラ革命、今起きていること
DevOps 概要 - インフラ革命、今起きていることHiro Fukami
 
Alexaスキルを作ろう
Alexaスキルを作ろうAlexaスキルを作ろう
Alexaスキルを作ろう真吾 吉田
 
Engineers can change the world ~ "世界" で活躍するエンジニアになるために
Engineers can change the world ~ "世界" で活躍するエンジニアになるためにEngineers can change the world ~ "世界" で活躍するエンジニアになるために
Engineers can change the world ~ "世界" で活躍するエンジニアになるためにAkira Inoue
 

Similar to PHP5→PHP7にバージョンアップをするに あたって実感した Docker 導入の素晴らしさについて (20)

Hello Girl's World!!@女子エンジニアLT会 #dotsgirls
Hello Girl's World!!@女子エンジニアLT会 #dotsgirlsHello Girl's World!!@女子エンジニアLT会 #dotsgirls
Hello Girl's World!!@女子エンジニアLT会 #dotsgirls
 
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話
 
2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーション
2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーション2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーション
2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーション
 
Go言語ハンズオン資料flagパッケージを使ってみる
Go言語ハンズオン資料flagパッケージを使ってみるGo言語ハンズオン資料flagパッケージを使ってみる
Go言語ハンズオン資料flagパッケージを使ってみる
 
re:Invent2014の個人的まとめ
re:Invent2014の個人的まとめre:Invent2014の個人的まとめ
re:Invent2014の個人的まとめ
 
AWS で社内オンライン勉強会
AWS で社内オンライン勉強会AWS で社内オンライン勉強会
AWS で社内オンライン勉強会
 
Word camp tokyo2014 わぷーステージ振り返り
Word camp tokyo2014 わぷーステージ振り返りWord camp tokyo2014 わぷーステージ振り返り
Word camp tokyo2014 わぷーステージ振り返り
 
2015 07-04-ruby rails
2015 07-04-ruby rails2015 07-04-ruby rails
2015 07-04-ruby rails
 
VUXデザイナー
VUXデザイナーVUXデザイナー
VUXデザイナー
 
第1回勉強会
第1回勉強会第1回勉強会
第1回勉強会
 
20200214 drupal-meetup-haneda
20200214 drupal-meetup-haneda20200214 drupal-meetup-haneda
20200214 drupal-meetup-haneda
 
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
 
Serverless Meetup Tokyo #2 オープニング
Serverless Meetup Tokyo #2 オープニングServerless Meetup Tokyo #2 オープニング
Serverless Meetup Tokyo #2 オープニング
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208
 
NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )NoSQL勉強会資料(2015/03/12@ヒカラボ )
NoSQL勉強会資料(2015/03/12@ヒカラボ )
 
DevOps 概要 - インフラ革命、今起きていること
DevOps 概要 - インフラ革命、今起きていることDevOps 概要 - インフラ革命、今起きていること
DevOps 概要 - インフラ革命、今起きていること
 
Alexaスキルを作ろう
Alexaスキルを作ろうAlexaスキルを作ろう
Alexaスキルを作ろう
 
Engineers can change the world ~ "世界" で活躍するエンジニアになるために
Engineers can change the world ~ "世界" で活躍するエンジニアになるためにEngineers can change the world ~ "世界" で活躍するエンジニアになるために
Engineers can change the world ~ "世界" で活躍するエンジニアになるために
 

PHP5→PHP7にバージョンアップをするに あたって実感した Docker 導入の素晴らしさについて