1. 현재 미니 pc 로 홈 서버를 운영중인데 PHP 도쓰고 node 도 쓰고 하다보니 같은 80포트와 443 포트에 사용하기위해 도커 도입을 결정하였다.
2. 도커랑 도커컴포즈 설치 (환경 Ubuntu 22.04.2 LTS)
3. 디렉토리는 /home 에 prod 랑 dev 를 구분해두었다
4. /home/prod 에 docker-compose.yml 작성 후
version: '3.8'
x-common-settings: &common-settings
env_file:
- ./envs/.env
services:
php:
build:
context: ./php
dockerfile: Dockerfile
container_name: php74-fpm_prod
environment:
TZ: "Asia/Seoul"
volumes:
- ./projects/project_name/www:/var/www/html/project_name
networks:
shared_network_prod:
ipv4_address: 172.xx.x.x
<<: *common-settings
composer:
container_name: composer_prod
image: composer:latest
volumes:
- ./projects/project_name/www:/app
working_dir: /app
command: install
<<: *common-settings
networks:
shared_network_prod:
ipv4_address: 172.xx.x.x
nginx:
build:
context: ./nginx
dockerfile: Dockerfile
container_name: nginx_proxy_prod
image: nginx_proxy_prod
environment:
TZ: "Asia/Seoul"
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:r - read 만 가능하도록
- ./projects/project_name/ssl/:/etc/ssl/project_name/
- ./nginx/log/nginx:/var/log/nginx
- ./projects/project_name/www:/var/www/html/project_name
#- ./certbot/conf:/etc/letsencrypt
#- ./certbot/www:/var/www/certbot
<<: *common-settings
networks:
shared_network_prod:
ipv4_address: 172.xx.x.x
db:
build:
context: ./postgresql
dockerfile: Dockerfile
container_name: postgres_prod
environment:
TZ: "Asia/Seoul"
ports:
- "5433:5432"
volumes:
- ./postgresql/data:/var/lib/postgresql/data
networks:
shared_network_prod:
ipv4_address: 172.xx.x.x
node-app:
build:
context: ./node_study
dockerfile: Dockerfile
container_name: node_study_prod
ports:
- "6000:3000"
volumes:
- ./node_study/node-api-study:/usr/src/app
- /usr/src/app/node_modules
networks:
shared_network_prod:
ipv4_address: 172.xx.x.x
command: ["npm", "run", "start"]
networks:
shared_network_prod:
external:
name: nwtwork_name
- ports 는 환경에따라 변경하면 되고
하위 디렉토리는
이런 구조로 작업했다.
도커 관리 툴로 portainer 가 사용해보니 좋은거 같던데 나중에 블로그 써서 자세하게 쓰겠다
'Docker' 카테고리의 다른 글
깃랩 업데이트 (0) | 2024.11.27 |
---|---|
도커로 실행중인 깃랩 자동 백업 스크립트 (0) | 2024.11.27 |