docker compose 로 php8 nginx 구성하기
2022. 3. 7. 15:45ㆍ예전자료/시스템공부합시다
관련 레포 : https://github.com/saranf/docker_study/tree/main/nginx_php
docker compose 설치 (22.03.06 기준 최신 버전 2.3)
brew install docker-compose
docker composer 설치 되었는지 확인
docker composer --version
docker 작업 폴더 생성
mkdir docker
(현 위치 : /Users/mac/Project/docker)
nginx 설정 파일 작성
mkdir nginx/conf.d
vim /Users/mac/Project/docker/nginx/conf.d/default.conf
server {
listen 80; ## 연결 포트 80
root /var/www/html; ## nginx가 바라보는 root 디렉토리 (Document root)
index index.html index.htm index.php; ## main 페이지 (php사용할거라서 php추가함)
server_name localhost;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
php 코드 작성
mkdir -p nginx/html
vim /Users/mac/Project/docker/nginx/html/index.php
<?php
echo 'test';
?>
dockerfile 작성
vim /Users/mac/Project/docker/nginx/dockerfile
#nginx 최신 버전 이미지 사용
FROM nginx:latest
# nginx 설정 파일을 Docker 내부로 복사
COPY ./conf.d/default.conf /etc/nginx/conf.d/default.conf
# Docker Host로 포트 번호 노출
EXPOSE 80
# 백그라운드에서 실행
ENTRYPOINT ["nginx","-g","daemon off;"]
docker-compose.yml 작성
vi /Users/mac/Project/docker/docker-compose.yml
ersion: "3.7"
services:
app:
container_name: php
image: php_test:0.1
ports:
- "9000:9000"
volumes:
- ./nginx/html:/var/www/html
web:
container_name: nginx
build:
context: ./nginx
dockerfile: dockerfile
depends_on:
- app
volumes:
- ./nginx/html:/var/www/html
- ./nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
ports:
- "8888:8888"
- "443:443"
links:
- app
restart: always
php8.1 docker file clone
https://github.com/docker-library/php.git
clone 위치 :
/Users/mac/Project/docker
php8.1 dockerfile build
cd php/8.1/alpine3.15/fpm
docker build -t php_test:0.1 .
docker-compose container 올리기
docker-compose up -d
제대로 올라왓는지 확인
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
eb815376df5f docker_web "nginx -g 'daemon of…" 7 minutes ago Up 7 minutes 0.0.0.0:443->443/tcp, 80/tcp, 0.0.0.0:8888->8888/tcp nginx
780aa46bc6e1 php_test:0.1 "docker-php-entrypoi…" 7 minutes ago Up 7 minutes 0.0.0.0:9000->9000/tcp
'예전자료 > 시스템공부합시다' 카테고리의 다른 글
팀원들에게 Git을 알려주기 위해 정리한 13가지 질문들 (0) | 2022.06.07 |
---|---|
linux apt 명령어 (0) | 2022.03.10 |
20210810 docker 실습 (0) | 2021.08.10 |
20210809 docker 실습 (0) | 2021.08.10 |
MacOS brew 로 mysql 5.7 설치 (2) | 2021.01.06 |