Я использую docker-compose
для предоставления среды разработчикам. Приложение работает нормально на команде docker-compose build
и работает на 0.0.0.0:3000
по команде docker-compose up
. Когда я пытаюсь запустить команду docker-compose run web rails g controller
, чтобы сгенерировать контроллер с действием, чем файлы сгенерированы, но не имеют прав на редактирование на хосте.Файлы, созданные с помощью docker-compose run web rails g controller, не имеют прав для редактирования
Dockerfile
FROM ubuntu:14.04
FROM ruby:2.2.1
# Run updates
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
# Set up working directory
RUN mkdir /xyz/
WORKDIR /xyz/
# Set up gems
ADD Gemfile /xyz/Gemfile
ADD Gemfile.lock /xyz/Gemfile.lock
RUN bundle install
# Finally, add the rest of our app's code
# (this is done at the end so that changes to our app's code
# don't bust Docker's cache)
ADD . /xyz
Я даже пытался добавить пользователя xyzuser
, но не работает.
# Create a user imliuser to run app that is not root
RUN useradd --create-home --home-dir /xyz --shell /bin/bash xyzuser
RUN chown -R xyzuser /xyz
докер-compose.yml
db:
image: postgres
ports:
- "5432"
redis:
image: redis
ports:
- "6379"
web:
build: .
command: bundle exec rails s -b 0.0.0.0
volumes:
- .:/xyz:rw
ports:
- "3000:3000"
links:
- db
- redis
Когда я бегу docker-compose build
, а также получить предупреждение, don't run bundler as root
.
Еще одна ошибка, которую я получаю, - это когда сборщик начинает устанавливать драгоценные камни, который драгоценный камень, указанный в качестве публичного репозитория git, не был установлен.
gem 'workflow', :git => '[email protected]:xyz/workflow.git',
:branch =>'feature_state_to_integer'
Получение следующей ошибки.
Host key verification failed.
fatal: Could not read from remote repository.
Даже если хранилище является публичной
Кстати, вы не можете иметь две строки 'FROM' в вашем' Dockerfile'. Один из них просто игнорируется (я думаю, первый). – dnephin