Скорее всего, ваше приложение Sinatra прослушивает 127.0.0.1
. Вместо этого вам нужно привязать его к 0.0.0.0
.
В Classi c Sinatra это делается с:
require 'sinatra'
set :port, 4567
set :bind, '0.0.0.0'
# ... rest of the app
Я не уверен, что находится в вашем main.rb
, но Вы, вероятно, захотите добавить поддержку --host 0.0.0.0
или --bind 0.0.0.0
.
. Вот полностью функциональный пример:
Dockerfile:
FROM dannyben/alpine-ruby
WORKDIR /app
COPY . .
RUN gem install puma sinatra
EXPOSE 3000
CMD ruby server.rb
server.rb:
require 'sinatra'
set :port, 3000
set :bind, '0.0.0.0'
get '/' do
"we are the champions"
end
Затем запустите:
$ docker build -t temp .
$ docker run --rm -it -p 3000:3000 temp