Контейнер, созданный docker-compose не видит entrypoint

Рейтинг: 3Ответов: 0Опубликовано: 12.05.2023

Всем привет! Столкнулся с проблемой в docker-compose, что сервис api не видит entrypoint.sh и падает. Конкретная ошибка:

exec /app/entrypoint.sh: no such file or directory

Dockerfile для этого сервиса:

FROM ruby:3.1.0-slim

ENV LANG=C.UTF-8
WORKDIR app
RUN apt-get update && apt-get -y install build-essential libpq-dev autoconf autogen libtool
EXPOSE 3000

COPY Gemfile /app/Gemfile
COPY Gemfile.lock /app/Gemfile.lock

RUN bundle install

COPY ./entrypoint.sh .

ENTRYPOINT ["/app/entrypoint.sh"]

.docker-compose.yml:

services:
  es:
    image: elasticsearch:8.7.0
    environment:
      - discovery.type=single-node
      - ES_JAVA_OPTS=-Xms750m -Xmx750m
      - xpack.security.enabled=false

  db:
    image: postgres:14.0-alpine
    environment:
      - POSTGRES_PASSWORD= ...
    ports:
      - 5431:5432

  redis:
    image: redis:7.0.11-alpine

  api:
    build: .
    volumes:
      - .:/app
    ports:
      - 3000:3000
    environment:
      - ELASTICSEARCH_URL=http://es:9200
      - REDIS_URL=redis://redis:6379
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    depends_on:
      - db
      - redis

Файловая структура контейнера, создаваемого для сервиса api: app/entrypoint.sh

Пробовал удалить все images, все контейнеры и все volumes, ничего из этого не помогло. Также, что странно, dockerfile не менялся с того момента, когда всё успешно запускалось. Совсем не могу понять, где косяк. Помогите, пожалуйста :(

Ответы

Ответов пока нет.