2
我想知道是否有可能將docker與nginx組合成一個api網關/反向代理/ ssl終結點,而不會暴露容器背後的任何端口。即我只想使用由docker撰寫的intranet,當容器被鏈接到通過nginx進行通信時。理想情況下,唯一可公開訪問的端口將是nginx上的端口443(ssl)。這是可行的嗎?或者我必須公開我的容器上的端口?您是否可以將nginx反向代理用於docker容器而不暴露任何端口?
我想知道是否有可能將docker與nginx組合成一個api網關/反向代理/ ssl終結點,而不會暴露容器背後的任何端口。即我只想使用由docker撰寫的intranet,當容器被鏈接到通過nginx進行通信時。理想情況下,唯一可公開訪問的端口將是nginx上的端口443(ssl)。這是可行的嗎?或者我必須公開我的容器上的端口?您是否可以將nginx反向代理用於docker容器而不暴露任何端口?
是可行的。
在一個容器和nginx的另一容器只要定義你的應用程序,無論是在同一個碼頭工人,compose.yml。鏈接它們。只在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/
問候
嘿卡洛斯,謝謝你的快速反應。在這種情況下,nginx.conf文件會是什麼樣子?如何在沒有主機端口的情況下將流量代理到上游節點1,2和3? –
:-S我只知道碼頭的主動性。我在nginx和docker註冊表之間配置過一次,但是其他人做了nginx配置。我可以推薦這個指南:http://anandmanisankar.com/posts/docker-container-nginx-node-redis-example/它是你正在尋找的一個完整的例子。 –
如果你把一個端口沒有冒號,那還是暴露的嗎?我以前看過該指南,並且想知道這些是內部還是外部端口 –