【问题标题】:Docker not binding to specified IPDocker 未绑定到指定 IP
【发布时间】:2018-05-19 02:24:40
【问题描述】:

我已对/etc/docker/daemon.json进行了以下编辑

{
  "ip" : "[ip address]"
}

为了确认,我用docker network inspect [id]检查网络

"Options": {    
  "com.docker.network.bridge.host_binding_ipv4": "[ip address]",  
  "com.docker.network.bridge.name": "docker0",
},

但不知何故,所有容器仍在响应服务器上的其他 ip,而不仅仅是给定的 IP。

如何将docker 限制为特定的 ip?

注意:

https://docs.docker.com/v17.09/engine/userguide/networking/default_network/binding/

或者,如果您总是希望 Docker 端口转发绑定到一个特定的 IP 地址,您可以编辑系统范围的 Docker 服务器设置并添加选项 --ip=IP_ADDRESS。请记住在编辑此设置后重新启动您的 Docker 服务器。

【问题讨论】:

    标签: docker dokku


    【解决方案1】:

    配置文件“/etc/docker/daemon.json”会影响 docker 守护进程而不是容器实例。

    您必须将您的 docker 实例配置为仅在您想要的 ip 上绑定。 例如直接运行:

    docker run --rm -p 127.0.0.1:80:80 nginx
    

    这将使容器只在ip 127.0.0.1上绑定80端口

    【讨论】:

    • 您好,谢谢您的回答。似乎有办法将其作为默认的docs.docker.com/v17.09/engine/userguide/networking/…“或者如果您总是希望 Docker 端口转发绑定到一个特定的 IP 地址,您可以编辑系统范围的 Docker 服务器设置并添加选项 --ip=IP_ADDRESS。 "
    • 你说得对,我不知道,对不起。我尝试使用 { "ip": "127.0.0.1" } 修改 /etc/docker/daemon.json 并在重新启动守护程序后工作。你用的是什么版本?
    • 18.05.0-ce。我应该提到这些容器是使用dokku 设置的
    • 不知道,帮不上忙,抱歉。我认为 dokku 正在设置容器必须绑定到的 ip 地址,因此 docker 忽略了您在配置文件中放置的默认选项。
    • 这确实有道理,它可能是。感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    • 2010-09-14
    相关资源
    最近更新 更多