スポンサーリンク
技術記事

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

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

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

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

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

参考記事↓

Pz-LinkCard
- URLの記述に誤りがあります。
- URL=

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

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

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

用意するのは

docker-compose.yml
Dockerfile
php.iniCode 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:/sessionsCode language: JavaScript (javascript)

Dockerfile

FROM php:7.2-apache
RUN apt-get update && \
  docker-php-ext-install pdo_mysql mysqli mbstringCode 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だと、この何十倍も時間がかかるはず…

ブラウザ

Pz-LinkCard
- URLの記述に誤りがあります。
- URL=

phpMyAdmin

Pz-LinkCard
- URLの記述に誤りがあります。
- URL=

こちらの教材で学習中↓