docker-compose.ymlPHP Docker file 자동 생성
루트 경로
php 이미지 레파지토리
<aside> 🧑💻
25-06-04 현재 8.4는 전부 Release Candidate
</aside>
services:
php:
build: ./docker/php
container_name: php
ports:
- "8000:8000"
expose:
- "9000"
volumes:
- {앱 경로}:/home/app
mysql:
image: mysql:8.0
container_name: *laravel*
restart: always
environment:
MYSQL_DATABASE: *laravel*
MYSQL_USER: *root*
MYSQL_PASSWORD: *32213221*
MYSQL_ROOT_PASSWORD: *3221*
volumes:
- ./docker/mysql/data:/var/lib/mysql:rw
- ./docker/mysql/initdb.d:/docker-entrypoint-initdb.d
ports:
- "*3306*:3306"
# nginx:
# build: ./docker/nginx
# container_name: nginx
# restart: always
# depends_on:
# - php
# volumes:
# - {앱 경로}:/home/app
# - ./docker/nginx/logs:/var/log/nginx
# - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
# ports:
# - "{HTTP 포트}:80"
# - "{HTTPS 포트}:443"
version: "3.8"
services:
app:
image: php:8.2-fpm # PHP 8.2
container_name: laravel-app
working_dir: /var/www
volumes:
- .:/var/www # 현재 프로젝트 폴더를 컨테이너에 마운트
ports:
- "8000:8000" # 포트 포워딩 (PHP 내장 서버용)
depends_on:
- mysql
command: php -S 0.0.0.0:8000 -t public # Laravel 내장 웹서버 실행
mysql:
image: mysql:8.0
container_name: laravel-mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: laravel
MYSQL_USER: root
MYSQL_PASSWORD: root
ports:
- "3306:3306"
volumes:
- dbdata:/var/lib/mysql # DB 데이터 영속화
composer:
image: composer:latest
container_name: laravel-composer
working_dir: /app
volumes:
- .:/app
command: install # 기본 커맨드는 composer install
volumes:
dbdata:
./docker/php/DockerfileFROM php:8.4.7-fpm
RUN apt-get update
RUN apt-get install -y curl
#install some base extensions
RUN apt-get install -y \
zlib1g-dev \
zip \
libpng-dev \
exiftool \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libicu-dev \
libpq-dev \
libxpm-dev \
libvpx-dev \
libzip-dev \
mariadb-client \
libxml2-dev \
vim
RUN docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg
RUN docker-php-ext-install pdo_mysql exif gd bcmath zip
# Composer install
RUN curl -sS <https://getcomposer.org/installer> | php
RUN mv composer.phar /usr/local/bin/composer
WORKDIR /home/app
CMD ["php-fpm"]
출처: <https://zakkum.tistory.com/104> [WooLog:티스토리]