访问Docker主机上的服务
如果我启动一个docker集装箱,如果我使用主机的LAN IP,我可以出于某种原因访问docker主机的服务,例如:
docker run -it ubuntu sh -c "apt-get update && apt-get install -y netcat && nc -z 192.168.196.135 3449"
但是,我怎么知道哪个IP访问主机呢? 运行ifconfig
不显示192.x
范围内的任何networking。 如果主机与局域网断开,该怎么办?
你可以添加一个条目到你的容器的/etc/hosts
docker run --add-host="dockerhost:192.168.196.135" -it ubuntu sh -c "apt-get update && apt-get install -y netcat && nc -z dockerhost 3449"
你也可以使用这个docker发现代理
如果你需要更复杂的东西,那么你需要一个像zookeeper这样的服务发现系统。