gpt4 book ai didi

docker - 堆栈服务在特定接口(interface)上公开端口?

转载 作者:行者123 更新时间:2023-12-02 19:06:47 25 4
gpt4 key购买 nike

我们在 Digital Ocean 上运行堆栈。为了提高安全性,docker swarm 所有都在 Droplets 上的专用网络 (eth1) 上运行。我们有一些管理服务,我们不想在公共(public) IP 上公开,而是在私有(private) IP 上公开。

是否可以在特定接口(interface)上公开端口?或者可以创建另一个仅在私有(private) IP 上公开端口的入口网络?

我们现在的解决方法是,我们只是将这些服务作为普通容器运行,并在私有(private) IP 地址上公开端口。

最佳答案

使用覆盖网络驱动程序(使用入口网络)时,只有一个入口,用 --data-path-addr 定义docker swarm init/join期间.您可以将专用网络用于 Swarm“控制平面”--advertise-addr但这是你唯一的控制权。

如果您需要控制对特定登录名/IP 组的访问,那么我建议您在它们前面放置一个代理并以这种方式进行控制。 Here's some nginx info on that .您也许可以在 Docker Flow Proxy 或 Traefik 中进行设置。

您可以做的另一件事是设置服务约束,其中一组服务器用于公共(public)访问,另一组正在监听私有(private) IP 并具有特定的节点标签,因此您可以部署具有仅部署到私有(private)/公共(public)服务器的约束的服务。

关于docker - 堆栈服务在特定接口(interface)上公开端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49720396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com