Я относительно новичок в рельсах / docker. Я использую контейнер docker для поддержки своей среды разработки и работаю над несколькими проектами в / apps. В моем dockerfile я определил каталоги BUNDLE_PATH и BUNDLE_BIN (базовый образ ubuntu):
ENV BUNDLE_PATH=/bundle
ENV BUNDLE_BIN=/bundle/bin
Затем я использую том для хранения файлов комплекта и монтируемое связывание, чтобы я мог использовать возвышенный текст работать над приложением. Я использую docker -compose файл, чтобы выполнить sh это.
version: '3'
services:
rails_app:
container_name: rails_app
command: bash
working_dir: /apps
environment:
RAILS_LOG_TO_STDOUT: 'true'
RAILS_ENV: development
build:
context: .
dockerfile: dockerfile_ubuntu
volumes:
- ./apps:/apps/
- bundle_gems:/bundle
ports:
- 3000:3000
- 80:80
volumes:
bundle_gems:
Я бегу
docker-compose run --service-ports rails_app bash
, чтобы вызвать мой контейнер. Я понимаю, что в конечном итоге я могу использовать точки входа / сценарии для запуска своих приложений.
Я заметил, что когда я работаю над несколькими проектами в / apps, значение BUNDLE_GEMFILE не меняется при переходе от проекта к проекту. Разве сборщик не должен знать, какой гемфайл использовать, исходя из того, из какого каталога я выполняю? Или мне нужно вручную настраивать BUNDLE_GEMFILE каждый раз, когда я переключаю проекты? Спасибо!