我在mac os上,我在localhost上的计算机上运行了一个服务:8000
现在我想启动一个泊坞窗图像并从此处点击此服务。
我做了一个码头桥,我从内部使用它,但它没有用。 以下是我的步骤:
我的主持人ip:
ifconfig
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 98:01:a7:b0:2b:41
inet 192.168.0.70 netmask 0xffffff00 broadcast 192.168.0.255
media: autoselect
status: active
我从主持人那里获得了我的服务:
curl localhost:8000 #this is working!
我创建了一个桥,我使用它:
docker network create -d bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 dockernet
docker run --rm -it -v "$(pwd):/src" --network=dockernet qatests /bin/bash
从码头工具内部,我做了一个卷曲,但它不起作用:
curl 192.168.0.1:8000 #it's not working :-(
任何想法?
答案 0 :(得分:2)
您无需创建新网络。您可以使用默认的(桥接)。
只需使用docker0
或ip
(在我的情况下为ifconfig
)检查哪个IP与主机中的172.17.42.1
界面相关联,并从内部使用该IP容器:
$ curl 172.17.42.1:8000
答案 1 :(得分:1)
最后,我发现如果我ping我的电脑ip,我甚至可以从码头图片中看到它。 为了方便起见,我做了一个lounch脚本,以获取我当前的IP并启动docker图像,使我的ip可以访问&#34; mymac&#34;地址 所以我所做的就是午餐
MY_IP=$(ifconfig en0 | grep inet | grep -v inet6 | awk '{print $2}')
docker run --rm -it -v "$(pwd):/src" --add-host=mymac:$MY_IP qatests
/bin/bash
码头工人我现在可以吃午饭了:
curl mymac:8000 #it works! now mymac is my pc outside docker