Docker:在虚拟networking中公开一个端口

我想在nginx负载均衡器后面运行一个seafile实例,所以seafile容器join了与nginx-proxy容器相同的虚拟networking。 现在我需要一个额外的端口打开seafile容器。 但是, EXPOSEports似乎不起作用。 如何能够达到上述的描述行为?

networking

 networks: proxy-tier: external: name: nginx-proxy 

代理

 proxy: image: jwilder/nginx-proxy container_name: proxy ports: - 80:80 - 443:443 external_links: - seafile networks: - proxy-tier letsencrypt-companion: image: alastaircoote/docker-letsencrypt-nginx-proxy-companion container_name: letsencrypt-companion volumes_from: - proxy 

我忽略列出卷并重新启动策略,以获得更多的清晰度。

编辑上面你可以看到docker-compose文件的相关部分。 Seafile不过需要用自己的启动脚本启动。 我修改它以启动包含以下选项的容器,包括它之后。

 -e VIRTUAL_HOST=seafile.example.com --expose 8082 -p 8080:8080 -e VIRTUAL_NETWORK=nginx-proxy -e VIRTUAL_PORT=8080 -e LETSENCRYPT_HOST=seafile.example.com -e LETSENCRYPT_EMAIL=admin@seafile.example.com --network=nginx-proxy 

卷由启动脚本添加。