Как правильно написать dockerfile для запуска сценария инициализации, а затем приложение python - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь создать образ docker для нашего программного обеспечения, перед запуском приложения мне нужно запустить скрипт инициализации. Я попробовал комбинацию ENTRYPOINT, CMD и exe c "$ @" в скрипте инициализации.

Последние строки из файла dockerfile:

ENTRYPOINT ./entrypoint.sh
CMD ['python', './myapp.py', '-arg1', '-arg2']

Пример с точки входа. sh

echo "write something"
...
exec "$@"

Когда я запускаю docker, я ожидаю, что точка входа запустится, выполнит все операции, записанные в ней, и затем запустит CMD. Точка входа выполняется, но приложение не запускается, а docker закрывается. Я уверен, что делаю что-то не так, однако я искал решения и предложения, но я не нашел ни одного. У вас есть какие-либо предложения или вы можете указать мне правильное направление?

Заранее спасибо за вашу помощь.

1 Ответ

2 голосов
/ 03 марта 2020

Вы также должны использовать форму exe c для ENTRYPOINT, а также использовать двойные кавычки, а не одинарные.

ENTRYPOINT ["/bin/sh", "./entrypoint.sh"]

CMD ["python", "./myapp.py", "-arg1", "-arg2"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...