2016-10-20 1 views
2

dicker로 nginx를 사용할 수 있는지 알고 싶습니다. api gateway/reverse proxy/ssl 종료 점으로 뒤에서 컨테이너의 포트를 노출시키지 않고 작성하십시오. 나는. 컨테이너가 과거의 nginx와 통신 할 수 있도록 연결되어있을 때 작성자가 만든 인트라넷 만 사용하고 싶습니다. 이상적인 유일한 공개적으로 액세스 할 수있는 포트는 nginx의 443 포트 (ssl)입니다. 이게 가능합니까? 아니면 내 컨테이너에 포트를 노출해야합니까?포트를 노출시키지 않고 도킹 장치 컨테이너에 nginx 역 프록시를 사용할 수 있습니까?

답변

2

예 가능합니다.

동일한 docker-compose.yml에있는 하나의 컨테이너에 nginx를 정의하고 다른 컨테이너에 nginx를 정의하면됩니다. 그들을 연결하십시오. 그리고 nginx 컨테이너에만 443 포트를 노출.

고정 표시기 - compose.yml

nginx: 
    image: nginx 
    links: 
     - node1:node1 
     - node2:node2 
     - node3:node3 
    ports: 
     - "443:443" 
node1: 
    build: ./node 
node2: 
    build: ./node 
node3: 
    build: ./node 

상세 정보 : http://anandmanisankar.com/posts/docker-container-nginx-node-redis-example/

감사

+0

안녕 카를로스, 빠른 응답을 주셔서 감사합니다. 이 시나리오에서 nginx.conf 파일은 어떻게 생겼을까요? host : port없이 노드 1, 2 및 3 업스트림에 트래픽을 프록시하는 방법은 무엇입니까? –

+0

: -S 나는 독에 대한 conectivity에 대해서만 알고 있습니다. 나는 이것을 nginx와 docker 레지스트리 사이에서 한 번 구성했지만 다른 누군가는 nginx 구성을 수행했습니다. 나는이 가이드를 추천 할 수있다 : http://anandmanisankar.com/posts/docker-container-nginx-node-redis-example/ 그것은 당신이 찾고있는 것을 보여주는 완전한 예이다. –

+0

콜론을 사용하지 않고 포트를 꽂은 경우 여전히 노출되어 있습니까? 나는 그 가이드를 전에 보았고 그 포트가 내부 또는 외부 포트인지 궁금해하고 있었다. –