Docker compose -限制互联网访问,只允许通过代理出口



我正在尝试使用Docker compose在本地开发环境中复制受限制的生产环境。

应用程序容器不能从内部访问internet。其中一个容器应该能够将其web端口暴露给主机。主机应该能够访问该web服务。

应用程序容器应该能够在例如3128端口上访问代理。代理容器必须能够访问互联网。

是否可以使用Docker compose来设置?

实际上这是可能的。入口(NginX)和出口(Squid)容器需要同时位于内部和外部网络中,而应用程序容器只位于内部网络中。

# Base docker-compose, which is extended by more specific docker-compose files
version: "3.5"
services:
appname-nginx:
image: companyimage/nginx
container_name: appname-nginx
depends_on:
- appname-web
ports:
- "127.0.0.1:443:443"
- "127.0.0.1:80:80"
networks:
appname-network:
aliases:
- local.appname.com
appname-external-network:
appname-web:
image: companyimage/web
container_name: appname-web
networks:
- appname-network
appname-outbound-proxy-squid:
image: companyimage/squid
container_name: appname-outbound-proxy-squid
networks:
- appname-external-network
- appname-network
networks:
appname-network:
name: appname-network
internal: true
appname-external-network:
name: appname-external-network

相关内容

  • 没有找到相关文章

最新更新