Мне нужно дать аргумент во время работы Docker Image, которое будет числом от 0 до 3.Передача различных аргументов при запуске изображения Docker Несколько раз
Dockerfile имеет следующее:
WORKDIR "mydir/build"
CMD ./maker oneapp > /artifacts/oneapp_$1.log ; ./maker twoapp > /artifacts/twoapp_$1.log ; ./maker -j13 threeapp > /artifacts/threeapp_$1.log
Я буду работать те же Docker изображение нескольких раз, поэтому мне нужно журналы, чтобы быть сохранены в/артефактах прилагаемых с _0, _1, _2, _3, в зависимости от обстоятельств.
Я попытался сохранить это в файле Docker, но не хочу передавать эту полную строку в качестве аргумента во время работы докеры.
ENTRYPOINT ["/bin/bash"]
./maker oneapp > /artifacts/oneapp_$1.log ; ./maker twoapp > /artifacts/twoapp_$1.log ; ./maker -j13 threeapp > /artifacts/threeapp_$1.log
Возможно ли это? Что мне нужно изменить в Dockerfile, чтобы делать то, что я хочу?
Это хороший и элегантный подход. – Rao
Я добавил ENV count 0 и CMD ./maker oneapp> /artifacts/oneapp_${suffix}.log в файл Docker, но вижу эту ошибку: root @ onl-dev:/data/sept15/target-docker # docker run -it target -e count = 0 docker: Ошибка ответа от демона: oci runtime error: exec: "-e": исполняемый файл не найден в $ PATH. –
@Sweety yes: 'docker run' нуждается в имени изображения для запуска (создайте из него контейнер). У вашей команды нет имени изображения. – VonC