Comments 3
да не — нормальный пост
+4
baseimage-docker не советую! Объясню почему:
- runit, используемый в качестве менеджера процессов, очень неудобен в использовании, особенно когда что-то идёт не так. Supervisord куда более приятен и к тому же сам умеет делать «reape unknown pid», так что «изобретения» в виде my_init не нужны.
- Ни ssh, ни nsenter теперь не являются необходимыми. Для входа в контейнер используется команда
docker exec -ti CONTAINER_ID bash
. Для более удобной работы в консоли внутри контейнера (запуск mc и тп.) рекомендую добавить в Dockerfile:
ENV LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 TERM=xterm RUN locale-gen $LC_ALL
- Самое опасное: cron и logrotate пускаются со стандартными конфигами, не рассчитанными на работу в контейнерах. Пример: установили Apache, получили файл
/etc/logrotate.d/apache2
, внутри которого используется/etc/init.d
, значит runit потеряет контроль над процессом после первой ротации логов.
+2
Sign up to leave a comment.
Docker: интересные особенности базовых образов