你可以使用nginx反向代理到docker容器而不暴露任何端口吗?

时间:2016-10-20 02:00:06

标签: nginx docker docker-compose reverse-proxy

我想知道是否可以使用nginx和docker compose作为api网关/反向代理/ ssl终结点而不暴露其后面容器上的任何端口。即当容器被链接以通过nginx进行通信时,我想只使用docker compose创建的内部网。理想情况下,唯一可公开访问的端口将是nginx上的端口443(ssl)。这可行吗?或者我是否必须在容器上公开端口?

1 个答案:

答案 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/

此致