LINUX
[Linux] Docker 각 버전별 php-apache 설치 방법
영은파더♥
2025. 5. 20. 11:58
728x90
도커 php5.6 php7.4 php8.2 아파치 설치 방법입니다.
하나의 이미지에 php+apache가 같이 있는 docker image입니다.
docker-compose.yml
services:
php56:
#image: php:5.6-apache
container_name: php56-apache
build:
context: .
dockerfile: ./Dockerfile-php56
ports:
- "8156:80"
volumes:
- ./www:/var/www/html
- ./httpd/logs:/etc/apache2/logs
- ./httpd/conf/example.conf:/etc/apache2/sites-enabled/000-default.conf
php74:
#image: php:7.4-apache
container_name: php74-apache
build:
context: .
dockerfile: ./Dockerfile-php74
ports:
- "8174:80"
volumes:
- ./www:/var/www/html
- ./httpd/logs:/etc/apache2/logs
- ./httpd/conf/example.conf:/etc/apache2/sites-enabled/000-default.conf
php82:
#image: php:8.2-apache
container_name: php82-apache
build:
context: .
dockerfile: ./Dockerfile-php82
ports:
- "8182:80"
volumes:
- ./www:/var/www/html
- ./httpd/logs:/etc/apache2/logs
- ./httpd/conf/example.conf:/etc/apache2/sites-enabled/000-default.conf
혹시 안되면 example.conf 윗줄에 "AddType application/x-httpd-php .htm .html .php .php3 .php4 inc"
넣어주세요~
Dockerfile-php56
FROM php:5.6-apache
RUN docker-php-ext-install mysqli
RUN docker-php-ext-enable mysqli
RUN a2enmod proxy
RUN a2enmod proxy_fcgi
RUN a2enmod rewrite
RUN a2enmod ssl
RUN sed -i 's/\.php\$/.(php|htm|html)$/g' /etc/apache2/conf-available/docker-php.conf
Dockerfile-php74
FROM php:7.4-apache
RUN apt update
RUN apt clean
RUN docker-php-ext-install mysqli
RUN docker-php-ext-enable mysqli
RUN a2enmod proxy
RUN a2enmod proxy_fcgi
RUN a2enmod rewrite
RUN a2enmod ssl
RUN sed -i 's/\.php\$/.(php|htm|html)$/g' /etc/apache2/conf-available/docker-php.conf
Dockerfile-php82
FROM php:8.2-apache
RUN apt update
RUN apt clean
RUN docker-php-ext-install mysqli
RUN docker-php-ext-enable mysqli
RUN a2enmod proxy
RUN a2enmod proxy_fcgi
RUN a2enmod rewrite
RUN a2enmod ssl
RUN sed -i 's/\.php\$/.(php|htm|html)$/g' /etc/apache2/conf-available/docker-php.conf
확장자 .html 에서 php가 실행되게 하려면 "RUN sed -i 's/\.php\$/.(php|htm|html)$/g' /etc/apache2/conf-available/docker-php.conf" 이부분이 필요합니다.
./www 에는 index.html 를 하나 만들어주면 됩니다.
docker compose up -d --build 명령어로 실행합니다.
728x90
반응형