Если вы предполагаете, что Kubernetes создает контейнер с помощью команд Docker, то вы должны знать, что он ничего не знает о ключе --init
.Другими словами, у Kubernetes нет такой оболочки для запуска контейнера с другим начальным процессом.
Итак, если вы хотите использовать эту функцию в Kubernetes, вам нужно подготовить образ Docker с Tini в нем.
На самом деле, Tini включен в Docker 1.13 или выше, и вы просто включаете его, передавая флаг --init
в docker run
.Итак, чтобы добавить Tini к вашему изображению, используйте следующий код в Dockerfile
:
# Add Tini
ENV TINI_VERSION <check-version-on-github>
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
RUN chmod +x /tini
ENTRYPOINT ["/tini", "--"]
# Run your program under Tini
CMD ["/your/program", "-and", "-its", "arguments"]