Я хочу сделать Docker-контейнер, работающий в качестве демона, для разработки моей программы Go и монтировать исходный код в нее, используя volume
. Таким образом, любые go
инструменты запускаются внутри контейнера. Я запускаю контейнер с помощью docker-compose с tty: true
, stdin_open: true
и переопределением entrypoint: /bin/sh
.
Все работает хорошо, за исключением 10 секунд, чтобы остановить контейнер. После некоторого поиска проблема, вызванная /bin/sh
, работает как PID 1 и неправильно обрабатывает SIGTERM
. Я нашел такие инструменты, как dumb-init и tini , который работает как PID 1.
Теперь мой Dockerfile содержит
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
CMD ["/bin/sh"]
Я думаю, что что-то упустил, потому что до остановки контейнера все равно уходило 10 секунд. Кто-нибудь может помочь с этим?