📌
SinatraをDocker上で動かす方法
これは何?
SinatraをDocker上で動かす方法を記載します。
準備するファイル
Dockerfile
FROM ruby:3.4-slim
RUN apt-get update -qq && apt-get install -y build-essential
COPY app.rb .
RUN gem install rackup
RUN gem install puma
RUN gem install sinatra
EXPOSE 4567
CMD ["ruby", "app.rb"]
以下は、Sinatra関連のファイルになります。
app.rb
require 'sinatra'
set :bind, '0.0.0.0'
get '/' do
'妻がお出かけ日和だと言う。'
end
実行するコマンド
$ docker build -t app . // Dockerイメージを作成します。
$ docker run -p 4567:4567 --name sinatra_app app // Dockerイメージを実行します。
http://127.0.0.1:4567/ にアクセスすると意図通りのレスポンスが返ってきました。
感想
今回は、コンテナの外からアクセスするために0.0.0.0に対してバインドする必要がありました。ほとんどコンテナで開発した経験がなかったために127.0.0.1と指定していて問題の解消に少し手間取りました。
Discussion