Ruby on rails 无法从浏览器查看在docker容器中运行的rails应用程序

Ruby on rails 无法从浏览器查看在docker容器中运行的rails应用程序,ruby-on-rails,docker,Ruby On Rails,Docker,我正在docker容器中运行rails应用程序,在执行docker compose up后,我查看浏览器,看到ERR\u CONNECTION\u densed。我尝试过通过docker run-p 3000:3000 docker_应用程序进行端口转发,但仍然没有结果。有什么想法吗?如果您正在使用boot2docker或docker toolbox或docker机器(在不同于Linux的操作系统上,意味着使用VirtualBox VM),这意味着您需要在VM级别转发该端口: VBoxManag

我正在docker容器中运行rails应用程序,在执行
docker compose up
后,我查看浏览器,看到
ERR\u CONNECTION\u densed
。我尝试过通过
docker run-p 3000:3000 docker_应用程序进行端口转发,但仍然没有结果。有什么想法吗?

如果您正在使用boot2docker或docker toolbox或docker机器(在不同于Linux的操作系统上,意味着使用VirtualBox VM),这意味着您需要在VM级别转发该端口:

VBoxManage controlvm boot2docker-vm natpf1 "name,tcp,,3000,,3000"
虚拟机需要将该端口从本地主机转发到自身,然后docker端口映射才能生效。
我也有类似的案例


然后尝试访问http://$(docker机器ip默认值):3000作为注释。

如果您使用的是boot2docker或docker toolbox或docker机器(在不同于Linux的操作系统上,意味着使用VirtualBox VM),这意味着您需要在VM级别转发该端口:

VBoxManage controlvm boot2docker-vm natpf1 "name,tcp,,3000,,3000"
虚拟机需要将该端口从本地主机转发到自身,然后docker端口映射才能生效。
我也有类似的案例


然后尝试访问http://$(docker机器ip默认值):3000
,作为注释。

我使用docker机器创建主机vm。@GrahamJackson工具箱,机器。。。如果您使用的是虚拟机,则需要端口转发。我将尝试一下。谢谢你,冯!我在主机上暴露了端口3000,但仍然收到相同的错误。@GrahamJackson我已更改VBoxManage命令,并集成了mainframer的注释。我使用docker machine创建主机vm。@GrahamJackson toolbox,machine。。。如果您使用的是虚拟机,则需要端口转发。我将尝试一下。谢谢你,冯!我在主机上暴露了端口3000,但仍然收到相同的错误。@GrahamJackson我已更改了VBoxManage命令,并集成了mainframer的注释。您尝试在浏览器中访问哪个URL?您运行docker的系统是什么?如果您使用的是Mac,它不是“127.0.0.1”,它应该是真正的容器ip,您可以通过发布commane“docker machine ip default”来获得。您尝试在浏览器中访问哪个URL?您运行docker的系统是什么?如果您使用的是Mac,它不是“127.0.0.1”,它应该是真正的容器ip,您可以通过发布commane“docker machine ip default”来获得。