在 Linux 上使用 Ruby 进行容器化部署,你可以使用 Docker。Docker 是一个开源的应用容器引擎,可以让开发人员打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器或 Windows 机器上,也可以实现虚拟化。
以下是在 Linux 上使用 Docker 和 Ruby 进行容器化部署的步骤:
-
安装 Docker:首先确保你已经在你的 Linux 系统上安装了 Docker。如果还没有安装,请参考 Docker 官方文档 进行安装。
-
创建一个 Dockerfile:在你的 Ruby 项目根目录下创建一个名为
Dockerfile
的文件。这个文件将包含构建 Docker 镜像所需的所有指令。 -
编写 Dockerfile:在
Dockerfile
中添加以下内容:
# 使用官方 Ruby 镜像作为基础镜像 FROM ruby:3.0 # 设置工作目录 WORKDIR /usr/src/app # 将 Gemfile 和 Gemfile.lock 复制到工作目录 COPY Gemfile Gemfile.lock ./ # 安装依赖 RUN bundle install # 将项目源代码复制到工作目录 COPY . . # 暴露应用的端口 EXPOSE 3000 # 启动应用 CMD ["rails", "server", "-b", "0.0.0.0"]
这个 Dockerfile 使用了官方的 Ruby 3.0 镜像作为基础镜像,将工作目录设置为 /usr/src/app
,将 Gemfile 和 Gemfile.lock 复制到工作目录,安装依赖,将项目源代码复制到工作目录,暴露应用的端口,并启动应用。
- 构建 Docker 镜像:在项目根目录下运行以下命令,将
myapp
作为镜像名称构建 Docker 镜像:
docker build -t myapp .
- 运行 Docker 容器:使用以下命令运行一个新的 Docker 容器,将容器的 3000 端口映射到主机的 3000 端口:
docker run -p 3000:3000 myapp
现在,你的 Ruby 应用已经在 Docker 容器中运行了。你可以通过访问 http://localhost:3000
来查看你的应用。
注意:如果你的项目使用了其他端口,请相应地修改 Dockerfile 中的 EXPOSE
和 CMD
指令。