LoginSignup
7
8

More than 3 years have passed since last update.

【初心者向けハンズオン】WindowsにDockerでPHP/MySQL/Apache環境構築(第2回:PHP動かすところまで)

Posted at

概要

 前回の記事はこちら:

 新人もベテランも本当にエンジニアによくある、「開発環境建てるのめんどくさい問題」を解決する糸口を模索していました。そこで行き当たったWindows環境でDockerを使って開発出来るようにする、という着地に対してアプローチしていくハンズオンです。
 1回1時間程度の作業時間でやるルールにして、記事は細切れに書いて行くスタイル。あと参考にさせていただいた記事はこちらです。
 ※https://qiita.com/hirosnow/items/cbe2a90ba1c6921fea1a

目標

  • PHP/MySQL/Apacheで古き良きWEBアプリケーションの開発環境を作る
  • つくった開発環境を他の人に配布できるようにする
  • ↑の「配布された人が簡単に開発環境を作れる手順をまとめる」ところまでがゴール

では行ってみましょう。

本日の作業内容

作業ディレクトリの作成

参考にした記事に従って、「C:\Users\あなたのPCのユーザー名\home」というディレクトリを作成しました。
※参考との相違点①:「\work」になっているところを「\home」い変えました(好み)

home/
 ├ html/
 │ └ index.php
 ├ mysql/
 ├ php/
 │ └ php.ini
 └ docker-compose.yml

設置したファイルの記述

ちなみにここに来て大変今更ですが「Dockerってなんや」「Dockerfile?docker-compose.yml?」あたりでそもそも理解に躓いたタイミングがあり、その解消になったyoutube動画を転載させていただきます。
https://www.youtube.com/watch?v=VIzLh4BgKck

記述したdocker-compose.yml

version: '3'

services:
  php:
    image: php:7.2-apache
    volumes:
      - ./php/php.ini:/usr/local/etc/php/php.ini
      - ./html:/var/www/html
    ports:
      - 32778:80
  mysql:
    image: mysql:5.7
    volumes:
      - ./mysql:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: test
      MYSQL_USER: test
      MYSQL_PASSWORD: test
    command: --innodb-use-native-aio=0
    ports:
      - "32780:3306"
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    environment:
      PMA_ARBITRARY: 1
      PMA_HOST: mysql
      PMA_USER: test
      PMA_PASSWORD: test
    restart: always
    links:
      - mysql:mysql
    ports:
      - '32779:80'

記述したphp.ini(ホントはxamppでもともと使ってたやつを入れたんですが、恥ずかしいのでこちらの記述で)

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

記述したindex.php(ここは別になんでもいいと思う)

<?php
    phpinfo();

いざ、起動

該当フォルダに移動

cd (docekr-compose.ymlのあるディレクトリ)

いざ、起動

docker-compose up -d

接続してみる

http://127.0.0.1:32778/」

おお、すごい。来てる。簡単。
image.png

終わり。

コマンド一発は超絶楽ですね。

7
8
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
7
8