Docker를 이용한 Centos7 + httpd + php 5.4 개발환경 구축

Docker를 이용하여 Centos 7 + httpd + php5.4 개발환경을 구성하기로 했다. 어쩌다 예전 소스의 사이트 리뉴얼 의뢰가 있는데 이럴 경우 사용할 수 있도록 php 5.4 버전의 개발환경을 구축해두려는 것이다.

우선 Dockerfile 의 내용은 아래와 같다. 필수 패키지 및 타임존 설정 등이 포함되어 있다.

FROM centos:7

MAINTAINER chicpro <chicpro@gmail.com>

RUN yum -y install deltarpm

RUN yum -y install epel-release

RUN yum -y update

RUN yum -y install httpd redis vim

RUN yum -y install php php-cli php-bcmath php-bz2 php-common php-curl php-dba php-gd php-json php-mbstring php-opcache php-readline php-soap php-xml php-xmlrpc php-zip php-ctype php-pdo php-redis php-mysql php-imagick php-intl

RUN sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 100M/' /etc/php.ini
RUN sed -i 's/post_max_size = 8M/post_max_size = 100M/' /etc/php.ini

# Fix timezone issue
ENV TZ=Asia/Seoul
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

COPY ./vhost.conf /etc/httpd/conf.d/

RUN systemctl enable redis

RUN systemctl enable httpd

EXPOSE 80

CMD ["apachectl", "-D", "FOREGROUND"]

이전 포스트와 같이 DB 서버는 Host 의 DB 서버를 공유하기로 했기 때문에 패키지 설치는 포함되어 있지 않다.

version: '3.3'

services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    image: chicpro/centos7-httpd-php54
    container_name: centos7-httpd-php54
    ports:
      - "9002:80"
    restart: always
    volumes:
      - ./public:/var/www/html/
      - /tmp/mysql.sock:/var/run/mysqld/mysqld.sock

docker-compose.yml 파일의 내용은 위와 같다. 이미지 지정, Host DB 연결을 위한 mysql.sock 파일 마운트 관련 내용이 있다.

github repo : https://github.com/chicpro/docker-centos7-httpd-php54

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.