Dockerを利用しApacheにPHP環境 + Eclipseを連携


はじめに

「優しいIT」という理念の基、ITコンサルタントをしている亀井亮介と申します!
現在、仕事では要求分析・要件定義を中心に上流工程をしていますが、プログラムも書きます!
今回は、Dockerを利用したApache + PHP環境構築を紹介します!
(Dockerに慣れるチュートリアルとでも思ってください。)

●目的

Dockerを利用しApacheにPHP環境を構築します。
さらに、XAMPPを利用した開発環境のように、ファイル保存時に即時反映できるようにします。
(仮想サーバにファイルアップロードの必要なし)

●注意

開発にはデータベースとの連携が不可欠ですが、ここではApache + PHPにフォーカスします。
コンテナのディレクトリとホストのディレクトリを結びつけ、即時反映を実現します。
userはMacでのアカウント名です。

●参考

Docker Hubのオフィシャルイメージを使ったLAMP環境(Apache+PHP+MySQL)構築

●ホスト側環境

OS OS X El Capitan
Docker 1.9.1

●手順

コンテナのディレクトリとホストのディレクトリを関連付けして、コンテナを起動
動作確認
ホストの"/Users/user/Documents/workspace/korejo"に配置したファイルが反映されるかを確認

●詳細手順

動画解説クリック→

1. コンテナを作成

Docker起動
$ docker run -p 80:80 -v /Users/$USER/Documents/workspace/korejo:/var/www/html --name php -d php:5.6-apache

2. 動作確認

・Apacheのプロセス確認

プロセス確認
$ docker ps -a

・Apache動作確認【画像】

http://192.168.99.100 にアクセスすると"Forbidden"が表示されれば今はO.K.です

今はForbiddenでOK

3. ホストの"/Users/user/Documents/workspace/korejo"に配置したファイルが反映されるかを確認

・テキストエディタで、ローカルファイル(Mac側)の"/Users/user/Documents/workspace/korejo/info.php"を作成します

info.php
<%php info.php

※これでコンテナのディレクトリとホストのディレクトリが関連付けされていることがわかります

・Eclipseでプロジェクトを作成

Eclipse起動。Apacheを起動した時に指定したパスをワークスペースに設定
/Users/user/Documents/workspace

・プロジェクトを作成

新規でプロジェクトを作成します。
Eclipse Project

PHPプロジェクト
先ほど作成した”info.php”があります。
Eclipse PHP INFO

・info.phpを修正

このinfo.phpを修正して保存(command + s)します。
Eclipse PHPinfo 追記即時保存
ブラウザをリロードすると

http://192.168.99.100/info.php にアクセス

即時反映されたPHPinfo
これで、Eclipseでファイル保存をすると仮想サーバのphpファイルが更新を確認できました!
わざわざファイルアップロードをする必要がありません!

おすすめ本

リーダブルコード
レガシーコード改善ガイド
プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化 Kindle版

サイトマップ(未投稿あり)

理念・価値・ビジョン・使命

テスト駆動開発を重点においた規則

コーディング規則「優しいコードを書こう」(FuelPHP)
命名規則「3ヶ月後の自分自身に優しく、チームに優しく、まだ見ぬメンバーに優しく」

Docker+PythonでWebアプリケーション開発

Docker上のCentOSにPython3と、関連ライブラリpip, virtualenvとフレームワークDjango, bottle, Flaskのインストール!これらをまとめたDockerfile付き!

開発しやすい環境構築(Docker+PHP)

Dockerを利用しApacheにPHP環境 + Eclipseを連携
Dockerを利用したFuelPHP開発環境構築
Docker利用したFuelPHP開発環境の初期設定とscaffoldを利用してCRUDスケルトン作成
FuelPHPのデータベースマイグレーション

Raspberry Pi 3 (ラズパイ)とpythonで遊ぼう

Raspberry Pi 3インストール→無線LAN→日本語入出力→Macから操作
Raspberry Pi 3でプログラミングをする Node-REDと普通にプログラミング
Raspberry Pi 3でpythonを使いLEDを光らせる(Hello World)
Raspberry Pi 3でスイッチの状態を検出する
Raspberry Pi 3でpythonを使いサーボモータを動かす