如何在Ubuntu 14中通过localhost:9292绑定docker container和cuba进程

我在Ubuntu 14.04,我有一个超级简单的古巴应用程序似乎是缺乏的东西:

的Gemfile:

source "https://rubygems.org" gem 'cuba' 

config.ru

 require "./hello_world" run Cuba 

泊坞窗,compose.yml

 web: build: . volumes: - .:/myapp ports: - "9292:9292" command: bundle exec rackup -p 9292 

Dockerfile

 FROM jruby:1.7.19 RUN mkdir /myapp WORKDIR /myapp ADD . /myapp RUN bundle install 

我已经尝试通过docker运行它docker-compose up 。 这样就形成了这个形象,并把我在古巴的过程绑定到了terminal。 我可以看到服务器正在监听端口9292.但是我完全无法通过localhost:9292 url访问它。

似乎默认情况下,主机没有绑定到docker守护进程ip。 更改docker-compose.yml并添加rackup选项修复了它。

 web: build: . volumes: - .:/myapp ports: - "9292:9292" command: bundle exec rackup -o 0.0.0.0 
Interesting Posts