[Docker] 도커 도메인 여러개 사용하기 (Docker multi Domain) (웹서버 여러개)

처음에 도커 이해가 안되는게, 


콘테이너 생성할때, 포트로 설정을 해야하는데, 


웹 서버들 80을 디폴트로 사용하는데,


80포트는 한번 사용하면, 다른 컨테이너에서 사용할수가 없는거다.


근데, 한 서버에 여러 도메인을 관리하면.....


컨터이너 별로 만들어서 사용하는데, 포트는 80 중복이 안되는데...어떻게 하라는거냐?????


이 개념이 이해가 안되니까, 웹에서 Docker를 사용하는게 한개밖에 안되면...너무 빡센거다.


그래서, 찾은 방법이 역프록시 방법이다.


예로, 호스팅 업체에는 


밑에 2개 도메인을 다 내 서버에 연결해놓은다. 

www.tyson1.co.kr 

www.tyson.2co.kr 


그리고, 서버에서 웹서버 콘테이너를 2개 만들고, 포트를 하나는 8081, 8082 이렇게 했다고 치면, 


아파치설정에서 가상호스트세팅에서, * 80 으로 들어오는것을 


reverse proxy (역프록시)로 


www.tyson1.co.kr 로 들어오는거는 localhost:8081  로 가게 하고,


www.tyson2.co.kr 로 들어오는거는 localhost:8082  로 가게 하면 되는거다.



리눅스 가상호스트 찾아보고,


아파치 설정에서, 


<VirtualHost *:80>

    ServerAdmin test@test.com

    DocumentRoot /var/www/html/

    ServerName www.tyson1.com

    ProxyPass / http://localhost:8081/

    ProxyPassReverse / http://localhost:8081/

    ErrorLog "logs/error_log"

    CustomLog "logs/access_log" common

</VirtualHost>


위에처럼, 


    ProxyPass / http://localhost:8081/

    ProxyPassReverse / http://localhost:8081/

두 부분을 추가해주던지 하면 된다.




이 방법을 못 찾으니까, 도커를 처음에는 웹서버 하나만 올릴수있는거면 왜 사용하지라는 고민을 많이했다.



그러다가, 도커에 가상호스트 구축 및 서브 도메인 연결하는 콘테이너가 있고, 사용하기 간단하게 만들어 놓은것을 찾았다.


밑에 두 블로그를 참조한거다.



https://blog.youngbin.kim/2017/07/10/docker-%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-%EA%B0%80%EC%83%81-%ED%98%B8%EC%8A%A4%ED%8A%B8virtual-host-%EA%B5%AC%EC%B6%95-%EB%B0%8F-%EC%84%9C%EB%B8%8C-%EB%8F%84%EB%A9%94%EC%9D%B8-%EC%97%B0%EA%B2%B0/



https://zeewhon.blogspot.com/2017/06/blog-post_13.html



  1. docker pull jwilder/nginx-proxy
  2. docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
  1. docker run -d -e VIRTUAL_HOST=blog.youngbin.kim wordpress:latest


프록시 서버 콘테이너를 제일 먼저 생성해서, 80포트는 무조건 저걸 거치게 하고,


다음 콘테이너들 (실제 웹서버로 돌릴 콘테이너들 생성할때, VIRTUAL_HOST= 세팅에 도메인명 넣어주면, 


저 콘테이너로 역프록시를 자동 세팅해주는거다.


완전 대박이다!!


이게 해결되니까, 이제 도커를 엄청 이용할 수 있을거 같다.!!



그리고, 참고로, 난 시놀로지Nas에서 도커를 생성해서 웹서버 2개를 돌렸는데, 도커에서 80를 못써서 어떻게 할지 찾았는데,


시놀로지에서도 역프록시 세팅을 해서 여러개 올릴 수 있는 방법을 찾았다.


그 방법도 시놀로지 카테고리에 작성해 놓겠다.

(http://tyson.tistory.com/135)



참고 블로그

http://m.assayo.com/board_view.html?board=forum_nas&pid=19139



출처: https://tyson.tistory.com/133 [TysonWorld] 

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

웹개발

번호 제목 글쓴이 날짜 조회수
22 [리눅스] Apache Document Root 권한설정 최고관리자 09-04 1,617
21 [리눅스] CentOS Version 확인하기 최고관리자 09-04 1,452
20 [리눅스] MySQL 최초 접속 및 설정 최고관리자 09-03 1,744
19 [리눅스] MySQL 5.7 보안설정 최고관리자 09-03 1,541
18 [리눅스] RDate로 시간 동기화 하기. 최고관리자 09-03 1,467
17 [리눅스] 기본설치 (Apache , PHP , MySql) 최고관리자 09-03 2,018
16 [공부] 프로그래밍 공부 사이트 최고관리자 09-01 1,398
15 [기능] Mobile 메뉴 최고관리자 09-01 1,366
14 [기능] Mega Menu 최고관리자 09-01 1,409
13 [기능] 상단에서 메뉴높이가 높고 아래로 스크롤하면 메뉴높이가 줄어듦 최고관리자 09-01 1,415
12 [기능] 상단에 메뉴가 보이다가 아래로 스크롤하면 메뉴가 사라지고 상단으로 가면 메뉴가 보임. 최고관리자 09-01 1,336
11 [기능] 메뉴가 안 보이다가 아래로 스크롤하면 메뉴가 생김 최고관리자 09-01 1,437
10 [기능] Icon으로 구성된 수직/수평 메뉴 최고관리자 09-01 1,281
9 [JS] 자바스크립트 {...} [...] 문법 (비구조화 할당/구조분해 할당) 최고관리자 09-01 1,292
8 [기능] 상단의 높이가 큰 메뉴상태에서 아래로 스크롤하면 상단에 높이가 낮은 메뉴가 고정됨 최고관리자 09-01 1,295
7 [Font] Naversoftware 폰트 리스트 최고관리자 09-01 1,360
6 [Web Font] 직접입력해서 폰트를 확인할 수 있는 사이트 최고관리자 09-01 1,349
5 [CSS - font] unicode-range 최고관리자 08-31 1,577
4 [UI 참고] Oven - 회원가입 최고관리자 08-31 1,309
3 타자기체 - 가로 세로 비율이 고정되어 있는 글꼴로 표현 최고관리자 08-08 1,400