docker-compose로 쉽게 환경 구축 Apache2.4+PHP7.1+PostgreSQL9.6
4884 단어 PHP아파치PostgreSQLdocker-compose도커
직장에서 위의 환경이 필요하기 때문에 더 이상하고 싶지 않은 비망록으로 남겨 둡니다.
환경
구성
디렉토리 구성은 이런 느낌입니다.
Dockerfile
docker/web
에 Dockerfile
라는 파일을 만들고 다음 내용으로 작성PHP의 버전을 바꾸고 싶다면 FROM의
php:7.3-apache
라는 바람으로 바꾸면 된다.docker/web/Dockerfile
FROM php:7.1-apache
COPY ./php.ini /usr/local/etc/php/
RUN set -ex apk --no-cache add postgresql-dev libpq-dev && \
apt-get update && apt-get install -y libpq-dev \
vim \
less \
&& docker-php-ext-install pdo pdo_pgsql pgsql mbstring
같은 계층에서
php.ini
파일을 만듭니다.docker/web/php.ini
[Core]
display_errors = On
error_reporting = E_ALL
error_log = /var/log/apache2/error.log
log_errors = On
[Date]
date.timezone = 'Asia/Tokyo'
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = auto
mbstring.http_input = auto
mbstring.http_output = auto
mbsting.encoding_translation = Off
mbstring.detect_order = auto
docker-compose.yml
PostgreSQL의 버전 바꾸고 싶다면
image: postgres:9.3
의 부분을 변경해 주세요.또는 포트를 변경하려면
ports: -8110:80
를 변경하십시오.docker-compose.yml
version: '3'
services:
web:
build: ./docker/web/
ports:
- 8110:80
volumes:
- .:/var/www/html
depends_on:
- db
db:
image: postgres:9.3
ports:
- 5433:5432
volumes:
- ./docker/db:/docker-entrypoint-initdb.d
공개 파일 편집
적당히 이번에는
index.php
를 올리므로 phpinfo
index.php
<?php
phpinfo();
실행
실행해보기
docker-compose up -d
일어나고 있는지 확인해보십시오.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e5271d55548 4b77e94c903a "docker-php-entrypoi…" 38 minutes ago Up 38 minutes 0.0.0.0:8110->80/tcp test_web_1
d7ae129bf106 postgres:9.3 "docker-entrypoint.s…" 38 minutes ago Up 38 minutes 0.0.0.0:5433->5432/tcp test_db_1
브라우저 확인
방금 이전의 docker-compose.yml을 그대로 사용하는 사람이라면 다음 링크에서 날 수 있습니다.
localhost:8110
아래 화면이 표시되면 성공
기계 연결
컨테이너 안으로 들어가
$ docker exec -it test_web_1 bash
# ls
# docker docker-compose.yml index.php
마지막으로
docker-compose.yml이 너무 편리하고 힘들다.
Reference
이 문제에 관하여(docker-compose로 쉽게 환경 구축 Apache2.4+PHP7.1+PostgreSQL9.6), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/namizatork/items/dc1e8115fa293ec416b0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)