我在docker的--net="host"
在自定义网络中部署容器时,我可以使用它的名称来解决它。但是在指定--net="host"
而不是--net="customnetwork"
时,没有暴露任何端口,并且我无法以任何方式处理容器。这是主机网络检查
docker network inspect host
[
{
"Name": "host",
"Id": "663f54513dc2b631d6f81457a49374da3bc3193ac0617497c018c47520600e22",
"Scope": "local",
"Driver": "host",
"IPAM": {
"Driver": "default",
"Options": null,
"Config": []
},
"Containers": {
"836433bfa612f84fa3d73dec0f920e47affc529b64636f5e1bf38a8b7ced2d75": {
"Name": "elasticsearch",
"EndpointID": "79950c18d12d6c7a6715135287d48c7963bed21c7b09b28f6d443b7040eea697",
"MacAddress": "",
"IPv4Address": "",
"IPv6Address": ""
},
"86d4bd0c232a350371131c300c417877e0fb0c54b831f85093b0d2228d9b4f1a": {
"Name": "mongo",
"EndpointID": "492022820dd1e0a634e63c97962575b0bffe1c137163cce4df30aa8da39d1159",
"MacAddress": "",
"IPv4Address": "",
"IPv6Address": ""
},
"e4b9179849afa529a6249b067c27953d0b187afdd5fac76112bb9b1369ae9556": {
"Name": "graylog",
"EndpointID": "e705eede1ddf897c8c4fc45ae6fcf77db8228b1a0c2d318f6045846e52951b93",
"MacAddress": "",
"IPv4Address": "",
"IPv6Address": ""
}
},
"Options": {}
}
]
如您所见,没有分配任何IP地址,也没有任何改变。
我对码头工人比较新,也许我错过了什么。
有关背景的一些信息:
我正在使用docker来部署graylog2。它通过主机名引用mongodb和elasticserach,并且需要能够侦听主机上的端口以捕获传入的日志消息。端口在部署后配置。
Docker版本:1.10.3,build 20f81dd
感谢任何帮助。
感谢您的时间。
答案 0 :(得分:0)
当您执行--net=host
时,没有单独的网络,因为它只是在您的主机上进行侦听,所以没有可以转发的端口(您无法转发给自己,特别是因为您正在使用该端口),并且没有单独的IP,它是您主机的IP。