Контейнер работает под управлением systemd. Как проще всего выполнить сценарий, использующий systemd?

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

перейдите в командную строку, используйте следующую команду

which your_command 

Вышеупомянутая команда распечатает вывод, включая путь, использующий эту команду напрямую

0
13.11.2020, 22:18
1 ответ

Раньше я собирал тот же образ systemd с помощью buildah и пытался выполнить простой скрипт, и он отлично работал; может я что-то упустил:

 buildah run -t -v /sys/fs/cgroup:/sys/fs/cgroup:ro  onbuild-image-working-container-2  sh -c 'cat /tmp/install.sh'
--> #!/bin/bash
--> echo lol

buildah run -t -v /sys/fs/cgroup:/sys/fs/cgroup:ro  onbuild-image-working-container-2  sh -c 'chmod 777 /tmp/install.sh && /tmp/install.sh'
--> lol

ВЫХОД :лол

ПОСЛЕ вашего последнего комментария :Использование здесь докера

BUILDAH предназначен для создания образов OCI , поэтому, если вы используете параллельно podman или докер , просто используйте push изображения в локальный реестр с использованием buildah после сборки образа systemd -из Dockerfile и монтирования /sys/fs/cgroup в /sys/fs/cgroup с чтением -только параметры, чтобы он не переопределял ваши системные cgroups:

buildah bud --format=docker -f Dockerfile -t onbuild-image <path_to_DockerFile>
docker run -d -p 5000:5000 --restart=always --name registry registry:2
buildah push --tls-verify=false onbuild-image docker://localhost:5000/systemd-centos:latest
docker pull localhost:5000/systemd-centos:latest
ctr1="$(docker run -d -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 8000:80 localhost:5000/systemd-centos)"
docker exec -it $ctr1 'systemctl'
0
18.03.2021, 22:49

Теги

Похожие вопросы