在Docker容器中运行一个Ruby应用程序,可以通过以下步骤进行:
- 编写Ruby应用程序:
ruby
require 'sinatra'
get '/' do
'Hello World!'
end
- 构建Dockerfile:
Dockerfile
FROM ruby:2.7-alpine
WORKDIR /app
COPY . .
RUN gem install sinatra
ENTRYPOINT ["ruby", "app.rb"]
此Dockerfile构建基于ruby:2.7-alpine的镜像,将当前目录中的代码复制到镜像,安装Sinatra框架依赖,并指定app.rb为入口点。
- 构建镜像:
docker build -t sinatra-app .
- 运行容器:
docker run -p 4567:4567 -d sinatra-app
此命令在后台运行容器,并映射4567端口。
- 访问应用:
打开http://localhost:4567可以访问Sinatra应用。 - 在Docker Compose中定义应用:
yaml
version: '3'
services:
sinatra-app:
build: .
image: sinatra-app
ports:
- "4567:4567"
docker-compose up
可以一键启动应用。