Я пытаюсь закрепить приложение Rails, но получаю эту ошибку
Docker: ответ об ошибке от демона: не удалось создать задачу для контейнера: не удалось создать задачу прокладки: не удалось создать среду выполнения OCI: не удалось создать запуск: невозможно запустить процесс контейнера: exec: «build»: исполняемый файл не найден в $PATH: неизвестно .
FROM ruby:3.1.2-bullseye as base
RUN apt-get update -qq && apt-get install -y build-essential apt-utils libpq-dev nodejs
WORKDIR /docker/app
RUN gem install bundler
COPY Gemfile* ./
RUN bundle install
ADD . /docker/app
RUN bundle exec rake assets:precompile
ARG DEFAULT_PORT 3000
EXPOSE ${DEFAULT_PORT}
# CMD ["rails","server"] # you can also write like this.
CMD ["build", "exec", "rails", "server", "-b", "0.0.0.0"]
Команды Докера
docker build -t rail-app:12.0 .
docker run -d -p 3040:3000 rails-app:12.0
Как мне решить эту проблему?





Просматривая ваш файл docker, я считаю, что ошибка, которую вы видите, возникает из-за того, что Docker не может найти исполняемый файл build, который вы ввели в строку CMD. Правильный способ запустить сервер Rails в Docker — использовать bundle exec, который гарантирует выполнение команд с драгоценными камнями, указанными в вашем Gemfile. Измените свой CMD так:
CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"]
После изменения файла Dockerfile пересоберите образ и снова запустите контейнер.
Эта настройка должна обеспечить бесперебойную работу вашего приложения Rails в Docker.