我正在构建一个包含鱿鱼和icap服务的docker服务。 Squid在端口3128上运行,并且此端口是公共端口。 ICAP服务在端口1344上运行,该端口我不想公开,因为它将包含解密的Web流量。我希望只能由鱿鱼(这是icap客户端)访问此
。我的问题是,我该如何进行设置,以使e2guardian服务上的端口1344运行在可通过鱿鱼访问但未发布的专用网络上,而“客户”网络上的任何人都可以使用它? >
我包括了docker compose文件。
“ squidnet”网络实际上是一种剩余物。我想知道是否可以将squidnet设置为私有,然后仅在squidnet上共享1344,但是对于本地LAN上的squid服务仍要公开3128。我将如何更改docker compose文件以适应此要求?
谢谢
version: "3"
services:
squid:
# replace username/repo:tag with your name and image details
image: jusschwa/docker-squid-sslbump-rpi
deploy:
replicas: 1
restart_policy:
condition: on-failure
volumes:
- "/workspace/etc/squid/squid.conf:/usr/local/squid/etc/squid.conf"
- "/workspace/certs:/usr/local/squid/ssl"
ports:
- "3128:3128"
networks:
- squidnet
e2guardian:
image: jusschwa/e2guardian-rpi
ports:
- "1344:1344"
volumes:
- "/workspace/etc/e2guardian:/etc/e2guardian"
deploy:
replicas: 1
restart_policy:
condition: on-failure
networks:
- squidnet
networks:
squidnet:
答案 0 :(得分:0)
如果您不想将端口发布到主机,请使用expose
。当您使用ports
时,它会将端口发布到主机。
Read more
将容器3306映射到主机3306
ports:
- 3306:3306
将容器3306暴露在网络中
expose:
- 3306