gpt4 book ai didi

docker - 仅将 docker 端口公开给内部网络

转载 作者:行者123 更新时间:2023-12-02 18:06:05 26 4
gpt4 key购买 nike

现在在家庭实验室服务器的新版本上运行大量 docker,并试图确保一切都被锁定和安全。我将服务器用于各种事情,既需要从外部世界访问(nextcloud),也需要我只能从内部网络(plex)访问的事情。当然,服务器位于限制开放端口但寻求额外安全性的路由器后面 - 我想将那些我只想通过内部网络访问的 docker 限制为 192.168.0.0/24。这样,如果我的路由器上的某个端口以某种方式打开,它就不会被暴露(我是不是偏执狂?)。

目前 docker-compose 文件通过以下方式暴露端口:

....

ports:
- 8989:8989
....

这当然可以正常工作,但如果我打开路由器上的端口,全世界都可以访问。我知道我可以通过绑定(bind)到本地主机
....
ports:
- 127.0.0.1:8989:8989
....

但是,当我尝试从内部网络访问 docker 时,这对我没有帮助。我已经阅读了许多关于 docker 网络和各种标志的文章,还阅读了有关 iptables 解决方案的可能性。

非常感谢任何指导。

谢谢,

最佳答案

只需不要在 docker-compose 中声明任何端口,它们在容器之间自动可见。

我以这种方式使用elasticsearch容器,并且单独的kibana可以通过yml上声明的服务器名称连接到它。

if somehow a port became open on my router, it would not be exposed



使用此过程,端口在 docker 环境之外永远不可见(即外部 == 在您的本地网络中)。

如果您担心在执行我告诉您的过程时端口会在您的 LAN 中发布,那么它们不是。

关于docker - 仅将 docker 端口公开给内部网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56051409/

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