2018. 6. 28. 12:14

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


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


웹 서버들 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







'컴퓨터 > Docker' 카테고리의 다른 글

도커 로그인 에러  (0) 2018.06.30
Docker Vim 한글 깨짐  (0) 2018.06.28
Apache PHP Oracle Docker 사용하기  (0) 2018.06.28
도커 도메인 세팅  (0) 2018.01.29
도커 컨테이너 생성하기  (0) 2017.05.11
Posted by Tyson