라라벨 소스와 도커파일들이 있는 전제로 움직이는 샘플인데
시간되면 깃허브에 올리겠습니다.
지금은 참고만 하시길...
디렉토리 구성
프로젝트
├── docker
│ ├── mysql
│ ├── nginx
│ └── php
├── docker-compose.yml
├── laravel
라라벨 초기상태 소스를 laravel로 배치
첨부 docker/php/Dockerfile작성하시고
아래처럼 기동
(nginx사용하시려면 컨피그파일 만들어서 넣어주시고 주석 해제 해주시고 기동하셔야함)
cd prj패스
docker-compose up
# 확인은 http://localhost:8000
docker-compose.yml
version: '3'
services:
# nginx:
# image: nginx:stable-alpine
# environment:
# APP_ENV: dev
# TZ: Asia/Tokyo
# ports:
# - '80:80'
# depends_on:
# - app
# volumes:
# - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
# - .:/var/www/html
app:
build: ./docker/php
container_name: app
#for dev
command: php artisan serv --host 0.0.0.0
environment:
APP_ENV: dev
ports:
- "8000:8000"
volumes:
- ./laravel:/var/www/html/laravel:cached
working_dir: /var/www/html/laravel
depends_on:
- db
db:
image: mysql:5.7
container_name: db
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
environment:
TZ: Asia/Tokyo
MYSQL_DATABASE:
MYSQL_USER: test
MYSQL_PASSWORD: test
MYSQL_ROOT_PASSWORD: test
ports:
- "3306:3306"
volumes:
- mysql-data:/var/lib/mysql
- ./docker/mysql/initdb.d:/docker-entrypoint-initdb.d
volumes:
mysql-data:
docker/php/Dockerfile
vue사용시를 위해 node/npm도 함께 인스톨합니다.
FROM php:7.3-fpm
ENV TZ='Asia/Tokyo'
RUN echo "alias ff='find . -name'" >> ~/.bashrc \
&& echo "alias ll='ls --color=auto -lA'" >> ~/.bashrc \
&& echo "alias grep='grep --color=auto'" >> ~/.bashrc
# install composer
RUN cd /usr/bin \
&& curl -s http://getcomposer.org/installer | php \
&& ln -s /usr/bin/composer.phar /usr/bin/composer
RUN apt-get update && apt-get install -y \
libpq-dev \
procps \
git \
zip \
unzip \
vim \
&& pecl install xdebug \
&& docker-php-ext-install pdo_mysql opcache \
&& docker-php-ext-enable xdebug
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \
&& apt-get install -y nodejs \
&& npm install -g npm
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /var/www/html/laravel
'php' 카테고리의 다른 글
php8 vs 언어별 벤치마크! (3) | 2020.11.01 |
---|