我想知道是否可以使用nginx和docker compose作为api网关/反向代理/ ssl终结点而不暴露其后面容器上的任何端口。即当容器被链接以通过nginx进行通信时,我想只使用docker compose创建的内部网。理想情况下,唯一可公开访问的端口将是nginx上的端口443(ssl)。这可行吗?或者我是否必须在容器上公开端口?
答案 0 :(得分:2)
是可行的。
只需在同一个docker-compose.yml中将您的应用程序定义在一个容器中,将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/
此致