gpt4 book ai didi

ruby - Docker中的Ruby Thin应用

转载 作者:行者123 更新时间:2023-12-02 20:04:32 26 4
gpt4 key购买 nike

我正在尝试基于Thin服务器构建Ruby应用程序的Docker镜像。首先,让我向您展示我的dockerfile:

FROM centos:7.4.1708
WORKDIR /opt/myapp
ENV PATH=/opt/myapp/ruby/bin:${PATH}
ENV GEM_HOME=/opt/myapp/vendor/bundle/ruby/2.4.0
CMD /opt/myapp/vendor/bundle/ruby/2.4.0/bin/bundle exec thin -C /opt/myapp/config/thin.yml start
EXPOSE 9292

Directrory“myapp”包含所有gem依赖项以及Ruby二进制文件。构建图像后,我尝试运行该图像:
docker run -d myapp:latest

启动后图像立即关闭。

Docker日志输出:
Starting thin myapp...
Starting server on 0.0.0.0:9292 ...

Docker ps -a输出:
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
081e3d6fa8c1 99880f8f67d4 "/bin/sh -c '/opt/my…" 3 seconds ago Exited (0) 2 seconds ago cocky_bohr

但是,当我使用Bash命令运行相同的图像时:
docker run -it myapp:latest bash

然后使用与dockerfile的CMD中完全相同的命令启动服务器,应用程序将按预期方式启动并运行。

这是我不明白的。任何帮助将不胜感激。谢谢!

最佳答案

我知道这个问题已经很老了,但是我只是遇到了完全相同的问题,将--threaded选项添加到Thin似乎已经解决了。

关于ruby - Docker中的Ruby Thin应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50880779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com