首页 > 解决方案 > docker-compose up 不断循环并出现 ERROR -- : No such file or directory @ rb_sysopen

问题描述

当我使用 docker-compose up 启动我的容器时,我的应用程序最终会卡住并通过这些行一遍又一遍地重复自己:

我,[2019-12-09T15:19:35.396147 #342] INFO -- : 刷新宝石列表

E, [2019-12-09T15:19:47.019123 #342] 错误 -- : 没有这样的文件或目录@rb_sysopen - /usr/src/app/config/environments/development.rb (Errno::ENOENT)

.

.

.

问题是,当我打开容器 bash 并使用 ls 时,我可以看到文件位于他似乎找不到的路径中。

有关如何解决此问题的任何建议?谢谢!

编辑:Dockerfile

FROM ruby:2.6.3-alpine3.9

ENV APP_HOME /usr/src/app

ENV CONTAINERNAME_ENVIRONMENT docker

EXPOSE 80

WORKDIR $APP_HOME

COPY Gemfile* $APP_HOME/

# general dependencies
RUN apk update
RUN set -ex \
  && apk add --no-cache libpq imagemagick nodejs bash gcompat git

# poltergeist, see https://github.com/Overbryd/docker-phantomjs-alpine/releases
ENV PHANHOME /usr/share
RUN apk add --no-cache fontconfig curl && \
  mkdir -p $PHANHOME \
  && curl -L https://github.com/Overbryd/docker-phantomjs-alpine/releases/download/2.11/phantomjs-alpine-x86_64.tar.bz2 | tar xj -C $PHANHOME \
  && ln -s $PHANHOME/phantomjs/phantomjs /usr/bin/phantomjs \
  && phantomjs --version

# build dependencies
RUN set -ex \
   && apk add --no-cache --virtual builddependencies \
       linux-headers \
       libpq \
       tzdata \
       build-base \
       postgresql-dev \
       imagemagick-dev \
   && bundle install \
   && apk del builddependencies
CMD ["bundle", "exec", "unicorn", "--port", "80"]

编辑:docker-compose.yml

version: '3'
services:
  postgresql:
    image: postgres:9.6.2-alpine
    container_name: postgresql-dev
    environment:
      - APPLICATION=myapp
      - POSTGRES_PASSWORD=myapp
      - POSTGRES_USER=my_app
      - POSTGRES_DB=myapp
    ports:
      - 5432:5432
  imimap:
    build: .
    image: myapp:dev
    container_name: myapp-dev
    environment:
      - APPLICATION=myapp
      - POSTGRES_PASSWORD=myapp
      - POSTGRES_USER=my_app
      - POSTGRES_DB=myapp
      - RAILS_MASTER_KEY=${RAILS_MASTER_KEY}
      - LDAP=${LDAP}
    depends_on:
      - postgresql
    volumes:
      - ./logc:/usr/src/app/log
      - .:/usr/src/app
    links:
      - postgresql
    ports:
      - 8080:80
    #entrypoint:
    #  - ci-cd/stall.sh

标签: ruby-on-railsrubydocker

解决方案


推荐阅读