0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[PHP その2] 開発環境の構築とHello World

0
Last updated at Posted at 2019-05-31

シリーズ記事一覧

 [PHP その0] Web系初心者だけど今後のためにも1から勉強してみる
 [PHP その1] LAMP環境とは?
 [PHP その2] 開発環境の構築とHello World

環境

OS docker docker-compose
windows 10 Home 1809 18.03.0-ce,build 0520e24302 1.20.1, build 5d8c71b2

dockerとは

カーネルより上だけ仮想化する技術です。これまでのカーネルごと仮想化したハイパーバイザ型やホスト型の仮想化とは違い、コンテナ型の仮想化です(まああんまりこの辺はあんまり知らなくてもひとまずは作業には影響しないと思う)。カーネルまで仮想化しなくていいよねって需要が強くなってできたみたい。カーネルより上、つまり検証したいOS以上をdockerで構築するんですね。利点としては軽いってこと。カーネルまで仮想化されてるとどうしても1環境が重くなる。1コンテナで1ミドルウェアを構成することでいろんな環境を構築できるしコンテナの構成を書いたテキストファイルを共有するだけで別クライアントからでも簡単に環境を共有することができる。

docker-composeとは

1コンテナで1ミドルウェアを構成すると話しましたが、これを手動で管理するのは非常に煩わしいですよね。これを自動でやってくれます。具体的にはテキストでレシピを作っておくと、そのレシピに相当するコンテナ構成を構築してくれるということです。

Docker Toolboxの導入

以下のコマンドが実行できるようになったらDockerを使う準備は完了です。

docker run hello-world

インストール手順のリンク先を見て、上記コマンドが実行できるようになったら次の章に進みます。

ダウンロード:Get Docker Toolbox for Windows

インストール手順:windows 10 home で docker を導入するメモ

Docker-compoese

参考:Docker Composeを使ってLAMP環境を立ち上げる
どこかに作業ディレクトリを作成して

mkdir work

以下を実行

git clone https://github.com/naga3/docker-lamp.git
cd docker-lamp/

参考リンクだとそのまま起動するコマンド叩いてるけど、今はそのままだとエラーになります。
./work/docker-lamp/php/Dockerfileを以下の通り変更します。

FROM php:7.0-apache
COPY php.ini /usr/local/etc/php/
RUN apt-get update \
  && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev libmcrypt-dev \
  && docker-php-ext-install pdo_mysql mysqli mbstring gd iconv mcrypt

そして以下を実行

docker-compose up -d

細かい構成については参考リンクを参照。

ここまでくると以下の2つのコンテナが動いているはずです。

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                 NAMES
3243898fd41f        dockerlamp_php      "docker-php-entrypoi…"   21 hours ago        Up 21 hours         0.0.0.0:80->80/tcp    dockerlamp_php_1
3fedae96821c        dockerlamp_mysql    "docker-entrypoint.s…"   21 hours ago        Up 21 hours         3306/tcp, 33060/tcp   dockerlamp_mysql_1

0.0.0.0:80で動いていると書いてあります。
dockerが動いているIPは起動時の以下メッセージで確認してください。

                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/

docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com

上記でいうと、ブラウザで http://192.168.99.100/ を開いてphpinfo()のページが出たら成功です。

おっと、まだHello Worldが表示できていませんでした。

./html/index.phpを以下のように変更しましょう

<html>
 <head>
  <title>PHP Test</title>
 </head>
 <body>
 <?php echo '<p>Hello World</p>'; ?> 
 </body>
</html>

更新を保存したら、ブラウザを更新してHello Worldの文字が出てきたら完了です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?