Комментарии 5
Если вас интересует эта тема, то есть смысл посмотреть mrsk - https://github.com/mrsked/mrsk Пилит его сам DHH (автор Rails).
dkpl
Используете алиасы в статье - хоть расшифровывайте.
А вообще расписать на 5 экранов 2 файла - шедевр конечно.
В первую очередь статья выглядит переусложненной, если верить вашему Dockerfile, то это сетап для локальной разработки.
Например непонятно зачем было брать контейнер с passenger и что мешало взять образ ruby:3.1.2 и для тестового запуска использовать puma, ну или passenger в standalone режиме. А так получилось нагромождение, например nginx, который для локальной rails-разработки не нужен.
А еще вы прокидываете SSH ключ в контейнер и экспоузите SSH порт, зачем?! Что бы попасть в контейнер есть команда docker exec. Более того запуск более одного процесса в рамках docker контейнера - это плохая практика, да для локальной разработки "итак сойдет", но лучше не учить людей плохому.
Создается впечатление, что описанный вами опыт в статье плохо систематизирован.
А это и есть "опыт". Только не использования, а что получается, если делать "первый раз".
По существу.
1. Это не для разработки. Разрабатывать в такой конструкции я бы не стал. Песочница для использования дальше, можно так назвать. Основные приемы. Где взять, куда посмотреть, как собрать все в кучу.
2. SSH в этой конфигурации - не нужен вообще, все на локальной машине.
Если не на локальной - может понадобиться, потому что не всегда там, где контейнер разворачивается, есть доступ к какой либо командной строке.
3. Nginx и passenger выбраны по простой причине - это наиболее просто превратить в prod решение.
4. Возможно забыл отметить, здесь вообще нет никаких затронутых вопросов промышленной эксплуатации. Так, песочница, не более того.
Docker для приложения Rails 7