Добрый день. Используем ALT Starterkit 10. При запуске контейнеров docker с опцией --init (https://docs.docker.com/reference/cli/docker/container/run/#init) получаем ошибку: docker: Error response from daemon: exec: "docker-init": executable file not found in $PATH. Ошибка связана с тем, что при использовании опции --init важно наличие бинаря docker-init, в случае с ALT Linux в пути /usr/lib/docker (по этому же пути складываются cli-плагины типа buildx и compose). В качестве дефолтного гипервизора процессов в docker используется tini, который устанавливается, судя по всему, вместе с пакетом docker-engine. В случае с другими дистрибутивами (проверил на CentOS/Fedora) tini просто приносится вместе с пакетом docker-ce под именем docker-init прямиком в нужную директорию (в случае с CentOS/Fedora это /usr/libexec/docker). Пробовал воспользоваться apt-cache search docker-init, что привело меня к пакету tini, однако после его установки не нашел в файловой системе файла docker-init. Вот что говорит apt-cache showpkg tini: Package: tini Versions: <REDACTED> Reverse Depends: Dependencies: 0.19.0-alt1:sisyphus+278957.100.1.1@1626303581 - docker-init (1 0.13.0) Provides: 0.19.0-alt1:sisyphus+278957.100.1.1@1626303581 - tini docker-init Reverse Provides: tini 0.19.0-alt1:sisyphus+278957.100.1.1@1626303581 Для нас я данную ситуацию смогу полечить, слинкую /bin/tini на /usr/lib/docker/docker-init, но выглядит так, будто docker-init должен появляться в нужном пути после установки docker-engine.
У нас путь к init прописан в /etc/docker/daemon.json. Проверьте содержимое этого файла - по умолчанию там должно быть вот так { "init-path": "/usr/bin/tini", "userland-proxy-path": "/usr/bin/docker-proxy", "default-runtime": "docker-runc", "live-restore": true, "log-driver": "journald", "runtimes": { "docker-runc": { "path": "/usr/bin/runc" } }, "default-ulimits": { "nofile": { "Name": "nofile", "Hard": 64000, "Soft": 64000 } }, "storage-driver": "overlay2" }
Да, действительно, у нас этот параметр отсутствует, поскольку мы конфигурируем сервера при помощи ansible и формируем daemon.json заново (переносили роль с другого дистрибутива, где daemon.json при установке пакета docker не создается). После внесения параметра все работает и без линков. Спасибо.