Dockerfile устарел. Здесь я устанавливаю пакетную установку и создаю новый каталог /bundle, в котором установлен пакет. При запуске этого образа в качестве контейнера я монтирую текущий каталог в /code, который является WORKDIR, чтобы все rakefiles, Gemfile, GEMFile.lock были доступны там. Но синтаксис exec rake пакета команд ENTRYPOINT терпит неудачу каждый раз, когда я пытаюсь запустить контейнер.
FROM puppet/puppet-agent-alpine
RUN mkdir /code && \
mkdir /bundle
WORKDIR /code
RUN apk update && apk add git
COPY Gemfile Gemfile.lock /code/
RUN gem install --no-ri --no-rdoc bundler && \
bundle install --without linters --path /bundle && \
gem cleanup
ENTRYPOINT ["bundle", "exec","rake", "syntax"]
COPY docker/syntax/Dockerfile /Dockerfile
Я безуспешно пытался удалить Gemfile.lock. Когда я переопределяю точку входа во время выполнения, я могу войти в контейнер и вручную запустить команду точки входа, которая представляет собой синтаксис пакета exec rake. Это все еще дает мне ту же ошибку. Я добавил путь к /bundle. Но эта команда выполняется успешно, если я снова вручную выполняю установку пакета после входа в контейнер.
Любая помощь будет оценена по достоинству!