Я следующий Докер-Compose контейнер:я не могу запустить консоль с рельсов Докер и Passenger/Nginx изображение
# docker-compose.yml
version: '2'
services:
web:
build: .
ports:
- "80:80"
volumes:
- .:/home/app/NAME_OF_MY_APP
db:
image: postgres:9.4
ports:
- "5432"
environment:
POSTGRES_USER: 'postgres'
Я не могу понять, как я могу запустить консоль рельсы. Я использую изображение пассажира/nginx, и все работает. Однако моя БД находится в другом контейнере, и я бы хотел войти в консоль rails, чтобы вручную создать пару пользователей.
Я попытался с:
sudo docker-compose run web rails c
Но появляется следующее сообщение об ошибке:
ERROR: Cannot start service web: oci runtime error: exec: "rails": executable file not found in $PATH
Кроме того, я попытался:
sudo docker-compose run web "rails c"
Но кадры из фильма, показывая тот же результат.
Я хотел бы войти на консоль, ввести некоторых пользователей и сохранить их в базе данных postgres.
Заранее благодарен!
Я пробовал ваше решение, но оно не работает. Он печатает ту же ошибку, что и раньше. Rails c - это запись в среду ruby внутри приложения rails, поэтому я могу создавать пользователей вручную. – Ruffeng
Тогда это не ошибка в самом Докере. Он должен находиться внутри вашего контейнера, когда вы даже не можете выполнить «рельсы». Я думаю, что рельсы настроены неправильно. Когда я пытаюсь выполнить его на своей машине с помощью «docker run -it rails bash», а затем введите «rails», он работает так, как ожидалось. – n2o
Человек, это было потрясающе! Я обновил свою докер-композицию, и я включил ее через bash, и я мог бы сделать все, что хотел. Я действительно ценю твою помощь. Спасибо! – Ruffeng