仅通过在localhost中编写所需的ports配置(例如127.0.0.1:8080:80 ),就可以将端口从docker-compose.yml转发到容器。
在码头群中,这是不工作的,公布的端口可以从互联网上看到。
那么,我如何才能只从本地主机访问容器端口,而不向internet开放该端口?
我试着配置iptables来拒绝与端口iptables -A INPUT -p tcp --dport 5432 -j DROP的连接,但是由于iptable的docker设置,这是行不通的。
发布于 2022-02-22 16:34:09
容器可以通过属于docker_gwbridge接口的ip访问。
通过在容器本身中运行ifconfig命令,我能够在D2接口上查找容器的ip地址:
$ docker exec ifconfig这样,容器就可以通过host machine (例如,172.18.0.2:5432 )访问,而不必发布端口5432。
试图在S批服务中通过docker inspect (or or )查找ip地址并没有得到预期的结果,因为来自docker_gwbridge接口的ip没有显示在那里。而“内部”ip (大约10.0.4.6)在host machine中是不可用的。
https://devops.stackexchange.com/questions/15473
复制相似问题