Laravel9用 Docker構築
Laravel9になりDockerの構築を一部変更
- PHP 8.1を利用
- Mailサーバmailhogを利用
フォルダ構成
├── docker-compose.yml
└── docker
├── apache
│ └──default.conf
└── Dockerfile
docker-compose.yml
version: '3.8'
services:
database:
image: postgres:12.2
container_name: database
restart: unless-stopped
environment:
POSTGRES_PASSWORD: secret
POSTGRES_DB: laravel_docker
PGDATA: /var/lib/postgresql/data/pgdata
volumes:
- ./postgres-data:/var/lib/postgresql/data
ports:
- '5432:5432'
mail:
image: mailhog/mailhog
container_name: mailhog
ports:
- "8025:8025"
php-apache:
container_name: php-apache
build:
context: ./docker
ports:
- '8080:80'
- '5173:5173'
volumes:
- ./:/var/www/laravel_docker
- ./docker/apache/default.conf:/etc/apache2/sites-enabled/000-default.conf
depends_on:
- database
Laravel9用に設定を変更しているのですがポート解放など
Laravel9に変更された部分があり設定を変更しています。
Dockerfile
FROM php:8.1-apache
EXPOSE 5173
RUN curl -fsSL https://deb.nodesource.com/setup_16.x > steup_16.x
RUN ["/bin/bash", "steup_16.x"]
RUN rm steup_16.x
RUN apt update \
&& apt install -y \
g++ \
libicu-dev \
libpq-dev \
libzip-dev \
zip \
zlib1g-dev \
&& docker-php-ext-install \
intl \
opcache \
pdo \
pdo_pgsql \
pgsql \
&& a2enmod rewrite
RUN apt install -y nodejs
WORKDIR /var/www/laravel_docker
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
default.conf
<VirtualHost *:80>
ServerName laravel_docker
DocumentRoot /var/www/laravel_docker/public
<Directory /var/www/laravel_docker>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
今回こちらの構成で動かすようにしています。 ご参考になれば