我在docker容器中运行了一个小的REST API:
[2015-10-15 10:47:05] INFO WEBrick 1.3.1
[2015-10-15 10:47:05] INFO ruby 2.2.3 (2015-08-18) [x86_64-linux]
[2015-10-15 10:47:05] INFO WEBrick::HTTPServer#start: pid=8 port=9292
我在IP上有Docker VM:
192.168.99.100
我正在尝试发布/公开我的端口:
docker run --publish 9292:9292 788a36b503e2
Docker ps显示:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9d6b34469ebf 788a36b503e2 "/bin/sh -c 'rackup -" 45 seconds ago Up 44 seconds 0.0.0.0:9292->9292/tcp hopeful_bhaskara
我正在尝试使用REST API:
curl 192.168.99.100:9292/auth/3/xyz
但仍然出现错误:
curl: (7) Failed to connect to 192.168.99.100 port 9292: Connection refused
知道为什么吗?谢谢
最佳答案
你之前这么说:
I have docker VM on IP:
192.168.99.100
如果您使用VirtualBox for VM,并且要访问本地计算机上的该URL(http://localhost:9292),则需要在VirtualBox上进行端口转发以访问VM。
警告:如果您的VM具有防火墙(例如
ufw
),请禁用它。 (sudo ufw disable
)请按照以下步骤进行端口转发。
现在,您可以在本地计算机上访问http://localhost:9292。
关于ruby - 从Docker公开/发布端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33146606/