Есть ли способ выполнить команду в качестве аргумента в файле Dockerfile ENTRYPOINT? Я создаю изображение, которое должно автоматически запускать mpirun
для количества процессоров, то есть mpirun -np $(nproc)
или mpirun -np $(getconf _NPROCESSORS_ONLN)
.Команды в Docker ENTRYPOINT
Следующая строка работает:
ENTRYPOINT ["/tini", "--", "mpirun", "-np", "4"] # works
Но я не могу получить адаптивные формы работы:
ENTRYPOINT ["/tini", "--", "mpirun", "-np", "$(nproc)"] # doesn't work
ENTRYPOINT ["/tini", "--", "mpirun", "-np", "$(getconf _NPROCESSORS_ONLN)"] # doesn't work
Использование `nproc` обратные одиночные кавычки обозначения не работает. Я также не могу передать переменную среды в команду.
ENV processors 4
ENTRYPOINT ["/tini", "--", "mpirun", "-np", "$processors"] # doesn't work
Кому-нибудь удалось получить такой рабочий процесс?
Возможно, вы захотите создать сценарий оболочки и начать это. Вы можете использовать переменные ENV для управления вашим сценарием оболочки. –