我想知道是否可以将 nginx 与 docker compose 结合使用作为 api 网关/反向代理/ssl 终止点,而不暴露其后面容器上的任何端口。 IE。当容器链接到通过 nginx 进行通信时,我只想使用 docker compose 创建的内联网。理想情况下,唯一可公开访问的端口是 nginx 上的端口 443 (ssl)。这可行吗?或者我是否必须公开容器上的端口?
最佳答案
是的,是可行的。
只需在一个容器中定义您的应用程序,在另一个容器中定义 nginx,两者都在同一个 docker-compose.yml 中。将它们链接起来。并且只暴露nginx容器中的443端口。
docker-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 - 您可以在不暴露任何端口的情况下使用 nginx 反向代理到 docker 容器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40144250/