概要
前回の記事はこちら:
新人もベテランも本当にエンジニアによくある、「開発環境建てるのめんどくさい問題」を解決する糸口を模索していました。そこで行き当たった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
接続してみる
終わり。
コマンド一発は超絶楽ですね。