php 개발 환경용 docker-compose
2688 단어 nginxPHPphp-fpmdocker-compose도커
fattyrabbit/php-fpm 을 이용한 로컬 개발 환경의 docker-compose
전체 출처 : h tps : // / t t c c t. 오 rg / 훗 ty 낙비 t / php에서 v-c r r 코 m 포세 / src / 마s r /
개요 : php 개발 (laravel 개발용)을 위해 local 환경을 작성하기 위해 다음을 목표로했습니다.
그래서 선택한 것이 「nginx」+「php-fpm」의 구성했습니다.
php-fpm 사용자 정의
php fpm 은 문제점으로서 Listen 포트가 「9000」고정으로 복수의 fpm를 동시에 이용할 수 없는 곳이 문제였습니다. 이를 위해 php fpm (우선 7.3) Dockerfile을 개선하여 Container를 실행할 때 포트를 설정할 수 있도록 수정했습니다.
향상된 php-fpm 소스 :
h tps : // / t t c c t. 오 rg / 도 c 케 r 푸 ぇ_ st / php fpm / src / ms r /
nginx
몇 번이나 테스트 중에 문제로 나온 것이 서버의 설정 파일의 수정이 있었을 경우, Dockerfile내에서 COPY를 이용하면 재Build해도 잘 갱신되지 않는 경우가 있었으므로, 서버의 관리를volumes로 관리하도록 설정했습니다.
이제 Docker를 다시 시작하거나 내부 데몬을 다시 시작해도 설정 변경이 반영됩니다.
docker-compose.xml proxy:
build: nginx
container_name: proxy
build:
context: .
dockerfile: docker-nginx/Dockerfile
volumes:
- ./etc/logs/nginx:/etc/nginx/logs
- ./etc/nginx/conf.d:/etc/nginx/conf.d
- ./etc/nginx/letsencrypt:/etc/letsencrypt
- ./www:/var/www/
ports:
- 80:80
- 443:443
php-fpm
이 경우 Listen의 포트를 "9001"로 해 보았습니다.
docker-compose.xml php-7.3:
build:
context: .
dockerfile: docker-php-7.3/Dockerfile
args:
LISTEN_PORT: 9001
container_name: php-7.3
volumes:
- ./www:/var/www/
- ./etc/php/php.ini:/usr/local/etc/php/php.ini
nginx 설정
실제 웹 서버에서 php를 이용하는 설정입니다.
/etc/nginx/conf.d/default.conf location ~ \.php$ {
fastcgi_pass php-7.3:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Reference
이 문제에 관하여(php 개발 환경용 docker-compose), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/FattyRabbit/items/3fda13cfa3ae9411f06d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
몇 번이나 테스트 중에 문제로 나온 것이 서버의 설정 파일의 수정이 있었을 경우, Dockerfile내에서 COPY를 이용하면 재Build해도 잘 갱신되지 않는 경우가 있었으므로, 서버의 관리를volumes로 관리하도록 설정했습니다.
이제 Docker를 다시 시작하거나 내부 데몬을 다시 시작해도 설정 변경이 반영됩니다.
docker-compose.xml
proxy:
build: nginx
container_name: proxy
build:
context: .
dockerfile: docker-nginx/Dockerfile
volumes:
- ./etc/logs/nginx:/etc/nginx/logs
- ./etc/nginx/conf.d:/etc/nginx/conf.d
- ./etc/nginx/letsencrypt:/etc/letsencrypt
- ./www:/var/www/
ports:
- 80:80
- 443:443
php-fpm
이 경우 Listen의 포트를 "9001"로 해 보았습니다.
docker-compose.xml php-7.3:
build:
context: .
dockerfile: docker-php-7.3/Dockerfile
args:
LISTEN_PORT: 9001
container_name: php-7.3
volumes:
- ./www:/var/www/
- ./etc/php/php.ini:/usr/local/etc/php/php.ini
nginx 설정
실제 웹 서버에서 php를 이용하는 설정입니다.
/etc/nginx/conf.d/default.conf location ~ \.php$ {
fastcgi_pass php-7.3:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Reference
이 문제에 관하여(php 개발 환경용 docker-compose), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/FattyRabbit/items/3fda13cfa3ae9411f06d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
php-7.3:
build:
context: .
dockerfile: docker-php-7.3/Dockerfile
args:
LISTEN_PORT: 9001
container_name: php-7.3
volumes:
- ./www:/var/www/
- ./etc/php/php.ini:/usr/local/etc/php/php.ini
실제 웹 서버에서 php를 이용하는 설정입니다.
/etc/nginx/conf.d/default.conf
location ~ \.php$ {
fastcgi_pass php-7.3:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Reference
이 문제에 관하여(php 개발 환경용 docker-compose), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/FattyRabbit/items/3fda13cfa3ae9411f06d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)