使用重新创 build 置所需的所有文件更新帖子。 –仍然是同样的问题。无法访问容器中运行的服务。
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
docker-compose.yml
version: '2'
services:
web:
build: .
ports:
- "4567:4567"
我通过运行
docker-compose up --build .
开始聚会docker ps 返回:
0.0.0.0:4567->4567/tcp
仍然,端口4567没有响应。使用主机上的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绑定(bind)了错误的界面。
通过添加-o
开关进行修复。CMD ruby hei.rb -p 4567 -o 0.0.0.0