본문 바로가기

Ops/Docker

Docker App - php 설치 (compose)

반응형

Docker App - php 설치 (compose)

 

 

 

 

 

환경

- Oracle VirtualBox 6.0.14 Build r133895

- CentOS Linux release 7.7.1908 (Core)

 

 

사전 작업

- Yum Local-Repository 설정

- Docker, Compose 설치 (OS 버전에 맞는 설치 매뉴얼 참조)

 

 

container 설치할 폴더 세팅

mkdir -p /home/chandler/docker
mkdir -p /home/chndler/docker/nginx/conf.d

 

 

nginx config 세팅

server {
        root /var/www/html;
        index index.html index.htm index.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 소스 작성

<?php
    echo 'chandler php test';
    echo phpinfo();
?>

 

 

docker 파일 작성

FROM nginx:latest

COPY ./conf.d/default.conf /etc/nginx/conf.d/default.conf

EXPOSE 80

ENTRYPOINT ["nginx","-g","daemon off;"]

 

 

yml 파일 작성

version: "3.7"
services:
        db:
                # 컨테이너 이름 지정
                container_name: db
                # 이미지 지정 - Official Images로 컨테이너를 생성
                image: mysql
                restart: always
                environment:
                        MYSQL_DATABASE: dico_db
                        MYSQL_USER: dico
                        MYSQL_PASSWORD: dico
                        MYSQL_ROOT_PASSWORD: root
                volumes:
                        - ./mysql/data:/var/lib/mysql:rw
                ports:
                        - "3306:3306"       
        app:
                container_name: php
                image: php:fpm
                depends_on:
                        - db
                ports:
                        - "9000:9000"
                volumes:
                        - ./nginx/html:/var/www/html
                environment:
                        PMA_HOST: db
                        PMA_USERE: dico
                        PMA_PASSWORD: root
        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:
                        - "80:80"
                        - "443:443"
                links:
                        - app
                restart: always

 

 

docker-compose create & start

docker-compose -f /home/chandler/docker/docker-compose.yml  up -d

 

 

docker-compose stop & remove

docker-compose -f /home/chandler/docker/docker-compose.yml  down

 

 

docker-compose build

docker-compose -f /home/chandler/docker/docker-compose.yml  build

 

 

docker-compose ps

docker-compose -f /home/chandler/docker/docker-compose.yml  ps

 

 

■ Reference

  내용 URL
  Dico, Docker Compose로 Nginx, PHP 구성하기 https://dico.me/server/articles/261
  - -

 

 

 


by mkdir-chandler


 

 

 

 

 

728x90
반응형

'Ops > Docker' 카테고리의 다른 글

Docker compose - install on rhel 7  (1) 2023.11.25
Docker App - alpine_fedora 만들기  (0) 2023.11.24
Docker App - redis insight 설치  (0) 2023.11.22
Podman App - redis latest 설치  (0) 2023.11.21
Podman App - redis 3 설치  (0) 2023.11.20