【发布时间】:2016-10-27 23:30:25
【问题描述】:
我正在尝试使用 docker 网络,但我似乎无法找到完成以下任务的方法:
在宿主机中启动一个简单的netcat服务器:
nc -l -p 5555
然后从 在一个 docker 容器中与该服务器通信,例如
# grab the docker network interface ip
hostip=$(ip route | awk '/docker0/ { print $NF }')
# pass in the docker network interface as a host and try a curl command
docker run --add-host=docker:"${hostip}" --rm -it hiromasaono/curl curl docker:5555
curl 请求只是挂起,宿主 netcat 服务器没有收到请求。
如果我改为使用 --net=host 选项启动 docker,它可以工作:
docker run --net=host --rm -it hiromasaono/curl curl 127.0.0.1:5555
netcat 服务器接收
GET / HTTP/1.1
User-Agent: curl/7.35.0
Host: 127.0.0.1:5555
Accept: */*
如何在不使用--net=host(默认为--net=bridge)的情况下从docker容器内与简单的主机netcat服务器通信?
(仅供参考:我正在运行 docker server/client 1.11.2)
我为寻找答案而研究的可能相关的资源:
【问题讨论】:
标签: docker