サイトアイコン Pro Web Engineer

Docker-ComposeでLAMP環境を爆速で作る

最近は、Dockerを少しずつ勉強しているのですが、

そういえば、Docker でLAMP環境を作成していなかったので、

この機会に作成してみました。

docker-compose を使用すれば、すぐに作れます。

参考記事↓

Docker Composeを使ってテスト環境を構築する【テスト環境の要件】初期目標サーバー:apachePHP:7系DB:MySQL以上の連携最終目標上記に加えて、Composer...
Docker Composeを使ってLAMP環境を構築する - Qiita - Qiita

参考記事のまんまですが、

docker │   └── php │   ├── Dockerfile │   └── php.ini ├── docker-compose.yml ├── html │   └── index.php ├── mysql └── phpmyadmin └── sessions
Code language: CSS (css)

こんな感じの構成になってます

用意するのは

docker-compose.yml Dockerfile php.ini
Code language: CSS (css)

だけです。

それ以外のファイルは、docker-compose up -d すれば、自動で作成してくれます。(htmlディレクトリでさえも!!)

自分の設定はこちら

docker-compose.yml

version: '3' services: php: build: context: ./docker/php dockerfile: Dockerfile volumes: - .docker/php/php.ini:/usr/local/etc/php/php.ini - ./html:/var/www/html ports: - 8010:80 links: - mysql:mysql mysql: image: mysql:5.7 volumes: - ./mysql:/var/lib/mysql ports: - 13306:3306 environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=test - MYSQL_USER=test - MYSQL_PASSWORD=test phpmyadmin: image: phpmyadmin/phpmyadmin environment: - PMA_ARBITRARY=1 - PMA_HOST=mysql - PMA_USER=test - PMA_PASSWORD=test links: - mysql ports: - 4000:80 volumes: - ./phpmyadmin/sessions:/sessions
Code language: JavaScript (javascript)

Dockerfile

FROM php:7.2-apache RUN apt-get update && \ docker-php-ext-install pdo_mysql mysqli mbstring
Code language: JavaScript (javascript)

php.ini

[Date] date.timezone = "Asia/Tokyo" [mbstring] mbstring.internal_encoding = "UTF-8" mbstring.language = "Japanese"
Code language: JavaScript (javascript)

本当に5分もかからず、作成できていまいます…

vagrantだと、この何十倍も時間がかかるはず…

ブラウザ


- localhost

phpMyAdmin


- localhost

こちらの教材で学習中↓

モバイルバージョンを終了