Добавление новой точки входа в образ docker

недавно мы решили переместить одну из наших служб в контейнер docker. Услуга является продуктом другой компании, и они предоставили нам образов Docker. Однако нам нужно сделать некоторые дополнительные шаги конфигурации в entrypoint контейнера.

первое, что я попытался, это создать DockerFile из базового изображения, а затем добавить команды для выполнения дополнительных шагов, например:

From baseimage:tag 
RUN chmod a+w /path/to/entrypoint_creates_this_file

но, это не удалось, потому что эти дополнительные шаги должны выполняться после запуска контейнеры от точки входа.

есть ли способ расширения entrypoint базового изображения? если нет, то как правильно это сделать?

спасибо

3 ответов


Я, наконец, закончил вызов исходного сценария entrypoint bash в моем новом скрипте entrypoint bash, прежде чем делать другие дополнительные шаги конфигурации.


вам даже не нужно создавать новый файл Dockerfile. Чтобы изменить entrypoint вы можете просто запустить изображение с помощью команды, такой как ниже:

docker run --entrypoint new-entry-point-cmd baseimage:tag <optional-args-to-entrypoint>


создайте свой пользовательский файл точки входа

- > добавьте это в изображение

- > укажите это как файл entrypoint

FROM image:base

COPY /path/to/my-entry-point.sh /my-entry-point.sh
// do sth here

ENTRYPOINT ["/my-entry-point.sh"]