도커 컴포즈
앞서 해야할 것
- mariaDB 이미지 실행
- 계정 생성 & 권한 부여
- selinux, firewalld, nginx 끄기 및 비활성화
- CREATE DATABASE nginx;
디렉토리 만들고 docker-compose.yml 작성
mkdir -p /docker_projects/nginx_proxy_manager_1
cd /docker_projects/nginx_proxy_manager_1
vim docker-compose.yml
version: "3"
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
environment:
TZ: "Asia/Seoul"
DB_MYSQL_HOST: "172.17.0.1" # 도커 호스트
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "아이디"
DB_MYSQL_PASSWORD: "비밀번호"
DB_MYSQL_NAME: "nginx"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
docker compose up -d => 데몬 모드로 실행
- 생성한 디렉토리 이름에 맞춰 컨테이너가 실행된다.
- (docker compose down => 종료)
크롬에서 site1.com:81 => 관리 콘솔 접속
- 이전에 site1.com의 ip를 내가 사용 중인 리눅스 ip로 변경해놓았음
- 메모장 관리자 권한으로 실행하여 C:\Windows\System32\drivers\etc/hosts 파일에서 변경 가능
임시 관리자 계정으로 접속(admin@example.com / changeme)
- 이메일, 비밀번호 변경
Hosts > Proxy Hosts > New Proxy Hosts
- site2.com / 172.17.0.1 / 8021 설정하고 저장
- 이전에 만든 node_hello_1 이미지를 -p 8021:8080으로 설정하고 run
- site2.com 접속하면 "Hello Node"가 뜬다.
- 172.17.0.1 => 컨테이너에서 리눅스 접근할 때의 ip / 192.168~은 PC에서 리눅스 접근할 때의 ip
site2.com(192.168~:80) 접속 => Nginx proxy manager => 172.17.0.1:8021 => node_hello_1의 8080
위의 순서로 토스된다.
'프로젝트 & TIL > 일별 공부 기록 (백엔드 스쿨)' 카테고리의 다른 글
45일차 - 알고리즘(탐욕법) (0) | 2023.04.25 |
---|---|
44일차 - 스프링부트 앱 도커라이즈 (0) | 2023.04.24 |
42일차 - ArrayList, HashMap 직접 구현 (0) | 2023.04.20 |
41일차 - 재귀 함수 (0) | 2023.04.19 |
40일차 - 일급 컬렉션, 리플렉션 (0) | 2023.04.18 |