[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
자동등록방지 숫자입력

기타

번호 제목 글쓴이 날짜 조회수
73 [시간] 시간과 관련한 정보가 필요하면 최고관리자 09-18 1,353
72 [Docker compose] Can not find a suitable configuration 에러 원인 최고관리자 09-15 1,385
71 [Docker] CentOS 7 에 Docker를 설치해 보자. 최고관리자 09-14 2,024
70 [소스 컴파일] 컴파일관련 용어를 살펴보자. 최고관리자 09-13 1,501
69 [PHP] 언어 최고관리자 08-18 886
68 [관심] 개발을 오래한 사람이면 공감되는 내용이 많을 것입니다. 최고관리자 08-18 712
67 [VS] code-server를 통해 어디에서든 PC환경으로 개발하자 최고관리자 08-18 689
66 [Mac] Capture Screen Image 폴더 지정 하기 최고관리자 08-02 753
65 [IntelliJ] 여러파일의 이름을 한번에 바꾸는 Plugin 최고관리자 07-29 1,479
64 [모니터] 용도/크기/화질 천차만별! 나한테 맞는 모니터 고르는 법! 최고관리자 07-23 700
63 윈도우 hosts 파일 수정 최고관리자 05-09 875
62 [HTML] image map을 활용한 영역클릭 최고관리자 04-27 798
61 [Linux] CentOS 7에서의 gcc upgrade 최고관리자 08-28 2,639
60 [Linux] wkhtmltopdf error가 해결되지 않을 경우 확인 최고관리자 08-27 1,476
59 [Linux] CentOS7에서 HTML to PDF 실행시 Error 최고관리자 08-27 2,225
58 [Linux] Html to PDF 설치하기 최고관리자 08-27 1,543
57 [Linus] RPM 패키지 관리를 위한 DNF 명령 최고관리자 08-27 1,151
56 [Intellij] 노란줄 Found duplicated code in 해결방법 최고관리자 08-26 1,373
55 [Linux] CentOS sendmail 설치 및 테스트 최고관리자 08-18 2,940
54 [Linux] Console에서 메일보내기 테스트시 EOF(EOT)입력은 어떻게?? 최고관리자 08-18 1,351