Ruby on rails 彪马不会从码头工人开始
我当前在尝试运行Ruby on rails 彪马不会从码头工人开始,ruby-on-rails,docker,puma,Ruby On Rails,Docker,Puma,我当前在尝试运行docker compose up时遇到问题。我的GEMA文件中有Puma,但我得到以下错误 web_1 | Puma starting in single mode... web_1 | * Version 4.3.6 (ruby 2.6.6-p146), codename: Mysterious Traveller web_1 | * Min threads: 5, max threads: 5 web_1 | * Environment: development w
docker compose up
时遇到问题。我的GEMA文件中有Puma,但我得到以下错误
web_1 | Puma starting in single mode...
web_1 | * Version 4.3.6 (ruby 2.6.6-p146), codename: Mysterious Traveller
web_1 | * Min threads: 5, max threads: 5
web_1 | * Environment: development
web_1 | * Listening on tcp://0.0.0.0:3000
web_1 | bundler: failed to load command: puma (/usr/local/bundle/bin/puma)
web_1 | Errno::ENOENT: No such file or directory @ rb_sysopen - tmp/pids/server.pid
我知道它可能没有tmp/pids文件,因为我是如何启动我的服务器的。然而,在我的Dockerfile中,我正在创建这个目录,所以它不应该再收到这个错误。你知道为什么我仍然会犯这个错误吗
Dockerfile
FROM ruby:2.6.6-alpine3.11
RUN apk add --update --virtual runtime-deps libffi-dev readline tzdata git
WORKDIR /tmp
ADD Gemfile* ./
RUN apk add --virtual build-deps build-base libc-dev linux-headers libxml2-dev libxslt-dev readline-dev && \
apk add --update ruby-nokogiri && \
gem install bundler:2.1.4 && \
bundle install --jobs=2 && \
apk del build-deps
ENV APP_HOME /app
COPY . $APP_HOME
WORKDIR $APP_HOME
RUN mkdir -p tmp/pids
EXPOSE 3000
CMD ["bundle","exec","puma","-C","config/puma.rb"]
您能否确认已创建/app/tmp/pids目录,并且该目录中没有现有的server.pid文件?通常,启动脚本会在启动服务器之前删除该文件。此命令的输出似乎为空
runecho$(ls-1/tmp/pids)
在/app/tmp/pidsls:/app/tmp/pids上重试:没有这样的文件或目录
我将mkdir切换到运行mkdir-p/app/tmp/pids
,现在回音的输出再次为空。这是否是导致无法创建的权限问题?能否确认已创建/app/tmp/pids目录,并且该目录中没有现有的server.pid文件?通常,启动脚本会在启动服务器之前删除该文件。此命令的输出似乎为空runecho$(ls-1/tmp/pids)
在/app/tmp/pidsls:/app/tmp/pids上重试:没有这样的文件或目录
我将mkdir切换到运行mkdir-p/app/tmp/pids
,现在回音的输出再次为空。这可能是导致无法创建的权限问题吗?