[Docker] Nginx 를 사용한 SubDomain(서브도메인) 분기

[Nginx-proxy 이미지 사용]

- docker-compose 를 통한 컨테이너 구축


- 서브도메인을 분기 시켜줄 프록시 컨테이너

* nginx-proxy.yaml


version: '2'
services:
nginx-proxy:
container_name: nginx-proxy
image: jwilder/nginx-proxy
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- /home/test/nginx-proxy/log:/var/log/nginx

networks:
default:
external:
name: nginx-proxy



- 기본 웹서버 컨테이너

* nginx-www.yaml


version: '2'
services:
nginx-www:
image: nginx:latest
environment:
- VIRTUAL_HOST=www.domain.com
container_name: nginx-www

networks:
default:
external:
name: nginx-proxy



- 서브도메인을 테스트 할 test 컨테이너 (test 대신 다른 웹서버 이미지를 사용해서 테스트 해야합니다.)

* test.yaml


version: '2'
services:
test-container:
image: test
container_name: test
environment:
- VIRTUAL_HOST=sub.domain.com
- VIRTUAL_PORT=3000

networks:
default:
external:
name: nginx-proxy



- 프록시 컨테이너 내 nginx 설정 파일 확인

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

~~~
server {
    server_name _; # This is just an invalid value which will never trigger on a real hostname.
    listen 80;
    access_log /var/log/nginx/access.log vhost;
    return 503;
version: '2'
}
upstream www.domain.com {
                ## Can be connected with "nginx-proxy" network
            # nginx-www
            server 192.0.0.1:80;
}
server {
    server_name www.domain.com;
    listen 80 ;
    access_log /var/log/nginx/access.log vhost;
    location / {
        proxy_pass http://www.domain.com;
    }
}
# test.domain.com
upstream test.domain.com {
            ## Can be connected with "nginx-proxy" network
            # test web server container
            server 192.0.0.2:3000;
}
server {
    server_name test.domain.com;
    listen 80 ;
    access_log /var/log/nginx/access.log vhost;
    location / {
        proxy_pass http://test.domain.com;
    }
}



---------------

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기
captcha
자동등록방지 숫자입력

기타

번호 제목 글쓴이 날짜 조회수
13 [DICOM] 정보 최고관리자 11-20 2,093
12 [개발툴] Cross Platform UART Monitor 최고관리자 11-11 1,180
11 익명화 최고관리자 11-05 1,247
10 [KT Cloud] Linux 계열 서버 Data Disk Mount -LVM 구성 최고관리자 11-03 1,559
9 [의료영상솔루션] 의료영상솔루션에서 빅데이터로 'PACS의 진화' 최고관리자 10-26 1,341
8 [Firmware] STM8 Linker: text size overflow 최고관리자 10-26 1,600
7 [STM8] ST Visual Studio 프로젝트 셋팅 최고관리자 10-22 1,507
6 [Firmware] SMT32 HTTP Client 코드 작성을 위한 lwIP Library 최고관리자 10-15 2,638
5 [Firmware] STMF4 시리즈 부트로더, iap 개발 팁 최고관리자 10-15 1,599
4 [특허] 한국, 미국, 일본, 유럽연합, 중국의 디자인보호제도 비교 최고관리자 10-14 1,851
3 [주식] 현재가 창에서 매도. 매수 총잔량으로 파악 하는법 상승시점 파악: 매수시점 최고관리자 09-09 13,130
2 [리눅스] BASH 쉘 설정 최고관리자 09-08 1,845
1 가비아 - Google 도메인 소유자 확인 최고관리자 08-25 1,239