在端口4567上运行在Docker容器中的应用程序不能从外部访问

使用重新创build设置所需的所有文件更新post。 – 仍然是同样的问题。 无法访问在容器中运行的服务。

FROM python:3 RUN apt-get update RUN apt-get install -y ruby rubygems RUN gem install sinatra WORKDIR /app ADD . /app/ EXPOSE 4567 CMD ruby hei.rb -p 4567 

hei.rb

 require 'sinatra' get '/' do 'Hello world!' end 

泊坞窗,compose.yml

 version: '2' services: web: build: . ports: - "4567:4567" 

我通过运行docker-compose up --build .开始派对docker-compose up --build . docker ps返回: 0.0.0.0:4567->4567/tcp : 0.0.0.0:4567->4567/tcp

不过,没有来自端口4567的响应。testing来自主机的curl。

 $ curl 127.0.0.1:4567 # and 0.0.0.0:4567 

localhost:4567在收件人中回复

 $ docker-compose exec web curl localhost:4567 Hello world!%` 

我应该怎么做才能访问运行在4567端口上的Sinatra应用程序?

Sinatra绑定了错误的界面。 通过添加-o开关来修复。

CMD ruby hei.rb -p 4567 -o 0.0.0.0