Какой .sh запустит первый-Базовый образ или .sh присутствует в файле Docker - PullRequest
0 голосов
/ 11 декабря 2018

Я растерялся, может кто-нибудь, пожалуйста, помогите.Предположим, у меня есть базовое изображение:

FROM ubuntu:trusty
.
.
COPY ./temp1.sh /sbin/entrypoint.sh

ENTRYPOINT ["/sbin/entrypoint.sh"]
CMD ["start-service"]

Я назвал изображение в моем файле докера

FROM letsdoit/baseimage
.
.
COPY ./temp2.sh /sbin/entrypoint.sh
ENTRYPOINT ["/sbin/entrypoint.sh"]
CMD ["start-service"]

Так каков будет порядок выполнения?

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Когда вы запускаете образ, если вы не измените настройки в команде docker run, он будет работать (только) /sbin/entrypoint.sh, и он получит единственный аргумент командной строки start-service.

CMD и ENTRYPOINT в производном изображении полностью перезаписывают соответствующие настройки в базовом изображении.Контейнер выполняет только одну команду, и это самая последняя ENTRYPOINT (или docker run --entrypoint, если вы задали это вручную).

0 голосов
/ 11 декабря 2018

Ваши настройки для ENTRYPOINT и CMD перезаписывают настройки базового изображения.Это означает, что базовый скрипт не будет работать вообще.

Более того, вы даже перезаписали файл /sbin/entrypoint.sh своей собственной версией.Таким образом, оригинальный сценарий даже не доступен в файловой системе контейнера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...