LoginSignup
0
0

More than 3 years have passed since last update.

dockerでPHPの開発環境を作ってみた!

Posted at

目的

今後、仕事で生かすためにdockerで様々な開発環境を作ってみる。
その一環として、PHPの開発環境を作成する。

作成する環境

・php:7.2
・apache
・mysql:5.7
・phpmyadmin

手順

①docker-compose.ymlを作成
 ※コンテナの指示書
②php.iniを作成
 ※phpの設定ファイル。マウントする。
③コンテナ実行
 docker-compose up -d
④index.phpを作成
⑤webサーバにアクセス
 http://localhost:8080/
⑥phpmyadminにアクセス
 http://localhost:4040/
⑦コンテナを破棄する
 docker-compose down

各作業抜粋

①docker-compose.ymlを作成

docker-compose.yml
version: '3'

services:
  php:
    image: php:7.2-apache                    #apache込みphpイメージ
    volumes:
      - ./php.ini:/usr/local/etc/php/php.ini #バインドマウント(PHP設定ファイル)
      - ./html:/var/www/html                 #バインドマウント(ドキュメントルート)
    ports:
      - 8080:80                              #ポートフォワード(ホストの8080番ポートをコンテナの80番ポートへ転送)
  mysql:
    image: mysql:5.7                         #mysqlイメージ
    volumes:
      - ./mysql:/var/lib/mysql               #バインドマウント(データディレクトリ)
    environment:
      - MYSQL_ROOT_PASSWORD=root             #rootユーザのパスワード
      - MYSQL_DATABASE=test                  #データベース名
      - MYSQL_USER=test                      #ユーザ名
      - MYSQL_PASSWORD=test                  #パスワード
  phpmyadmin:
    image: phpmyadmin/phpmyadmin             #phpmyadminイメージ
    environment:
      - PMA_ARBITRARY=1                      #サーバをローカル以外にも指定できるようになる
      - PMA_HOST=mysql                       #接続先ホストに、mysqlコンテナを指定
      - PMA_USER=test                        #接続先ユーザに、mysqlのユーザを指定
      - PMA_PASSWORD=test                    #接続先パスワードに、mysqlのパスワードを指定
    links:                                   #mysqlコンテナにアクセスできるようにする設定
      - mysql
    ports:
      - 4040:80                              #ポートフォワード(ホストの4040番ポートをコンテナの80番ポートへ転送)
    volumes:
      - ./phpmyadmin/sessions:/sessions      #バインドマウント(データディレクトリ)

②php.iniを作成

php.ini
[Date]
date.timezone = "Asia/Tokyo"
[mbstring]
mbstring.internal_encoding = "UTF-8"
mbstring.language = "Japanese"

③コンテナ実行(私は、PowereShellで)

image.png

上記のディレクトリに移動し、コンテナ実行
image.png

マウントしたディレクトリが作成されている(html,mysql,phpmyadmin)
image.png

④index.phpを作成

htmlフォルダの直下に、index.phpを作成
image.png

⑤webサーバにアクセス

http://localhost:8080/
image.png

先ほど、ホストに配置したindex.phpがマウントされて、表示されました!

⑥phpmyadminにアクセス

http://localhost:4040/
image.png

⑦コンテナを破棄する

image.png
破棄されていることを確認
image.png

終わりに

PHPで開発環境っぽいものが完成しました。
あとは、実際開発しながら微調整ですかねぇ(*'▽')

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