My days of...

生活のことなど、がんばろう

久しぶりにdocker-composeでLAMP環境を作るのを頑張ってみた

1年に1、2回、思い出したようにDockerを覚えようとか頑張ろうとして忘れてます。ということで今回も久しぶりのDockerでLAMP環境を作ることに。

参考にしたのは、こちらのYoutubeの動画。

www.youtube.com

最終的にできたdocker-compose.ymlの内容

version: '3'
services:
  db:
    image: mysql:latest
    environment:
      MYSQL_DATABASE: lamp_docker
      MYSQL_USER: lamp_docker
      MYSQL_PASSWORD: password
      MYSQL_ALLOW_EMPTY_PASSWORD: 1
    volumes:
      - "./db:/docker-entrypoint-initdb.d"
    networks:
      - lamp-docker
  www:
    depends_on:
      - db
    build:
      context: ./php
      dockerfile: Dockerfile
    volumes:
      - "./:/var/www/html"
    ports:
      - 80:80
      - 443:443
    networks:
      - lamp-docker
  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    ports:
      - 8001:80
    environment:
      - PMA_HOST=db
      - PMA_PORT=3306
    networks:
      - lamp-docker
networks:
  lamp-docker:
    driver: bridge

servicesのwwwにあるbuild箇所はcontext:./php でフォルダを指定してその中にDockerfileを置いた。

FROM php:8.1.10-apache-buster

RUN docker-php-ext-install mysqli

何となくdocker-compose.ymlの中身が理解できてきた。足掛け5年くらい?ドキュメントをちゃんと読まないのと時々しかやってないから覚えない。VirtualBox+Vagrantの方がいいかも。