Docker rails运行服务器

我是Docker的新手。 我有一个容器,我安装了Ubuntu的。 我也安装了ruby和rails框架。 我想运行rails server,并在localhost:3000或其他端口上查看我的页面。 要执行一个容器我做:

docker exec -it <CONTAINER_ID> /bin/bash. 

容器内我只是做:

 root@ed2727e0cd0f:/home/myrails/myPage: rails server => Booting WEBrick => Rails 4.2.3 application starting in development on http://localhost:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server [2015-08-08 13:29:07] INFO WEBrick 1.3.1 [2015-08-08 13:29:07] INFO ruby 2.2.1 (2015-02-26) [x86_64-linux] [2015-08-08 13:29:07] INFO WEBrick::HTTPServer#start: pid=127 port=3000 ^C[2015-08-08 13:29:15] INFO going to shutdown ... [2015-08-08 13:29:15] INFO WEBrick::HTTPServer#start done. 

我的容器内的netstat是:

 root@ed2727e0cd0f:/# netstat -an Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:3000 0.0.0.0:* LISTEN tcp6 0 0 ::1:3000 :::* LISTEN Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path 

当我通过浏览器访问本地主机:3000发生Unable to Connect 。 我相信这与容器configuration有关,对吗? 你有什么build议吗?

提前致谢。

你可能想要熟悉docker-compose ,这会有很大的帮助。 docker-rails是我刚刚创build的一个项目,它使得docker(和CI) 非常容易 。 查看想法的developmentconfiguration,还可以查看wiki的必备/设置。 如果你在OSX上,小艇是非常有用的,而ubuntu大部分只是一个香草设置(尽pipe你可能需要在页面上调整UFW)。

这对我有用..我所做的就是build立我自己的桥梁。 我不知道这是否有必要,可能不是因为该docker有默认的,但我遵循这个话题:

build立你自己的桥梁

然后在我的容器里面我运行轨道服务器的桥梁的ip这在我的情况是以下命令:

 root@ed2727e0cd0f:/home/myrails/myPage: rails server -p 3000 -b 192.168.5.2