首页 > 解决方案 > Docker 未绑定到指定 IP

问题描述

我已对以下内容进行了编辑/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 服务器。

标签: dockerdokku

解决方案


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

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

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

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


推荐阅读