почему результат proc exec отличается в разных системах Ubuntu? - PullRequest
0 голосов
/ 04 мая 2018

В моем ноутбуке с Ubuntu 16.04 64 бит

когда я делаю sudo /proc/1/exe --version я получаю

systemd 229
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN

Но когда я делаю ту же команду в контейнере Docker изображения ubuntu-upstart

я получаю

GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

И у меня есть виртуальная машина с Ubuntu, внутри которой я установил докер-контейнер того же образа, что и выше, я получаю

exe (upstart 1.12.1)
Copyright (C) 2006-2014 Canonical Ltd., 2011 Scott James Remnant

This is free software; see the source for copying conditions.  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

У меня вопрос, почему во втором случае я получаю результат GNU bash без информации о диспетчере служб, будь то systemd или upstart

1 Ответ

0 голосов
/ 05 мая 2018

Процесс инициализации докера по умолчанию ( точка входа ) определен в файле Docker; он не должен совпадать с процессом init для операционной системы, на которой основан образ докера, если таковой имеется. Вы также можете запустить другой, не перестраивая образ докера, используя docker run -it --entrypoint=bash. (Технически, вы также имели возможность делать то же самое с ядром Linux при загрузке реальной машины с загрузчиком, используя аргумент ядра init=, хотя я не думаю, что это больше поддерживается, по крайней мере, на Fedora Linux, который я использую.)

Иногда авторы Dockerfile используют bash или простой скрипт в качестве точки входа, потому что им не нужна сложность, которую обеспечивает супервизор, такой как supervisord или systemd.

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