Я столкнулся со странной проблемой при запуске моего простого образа приложения (размещенного в реестре контейнеров Azure). Когда я создаю Cloudtask в пакете azure для запуска образа, получая его из реестра контейнеров azure, кажется, что базовый образ этого образа не извлекается из концентратора докеров (это мой собственный другой образ, который я отправил в концентратор докеров) . Дело в том, что когда я запускаю изображение локально, все работает, как ожидалось (в контейнере создаются разные файлы / папки), но в пакете Azure (ничего не происходит). В чем может быть проблема. Спасибо.
В результате при локальном запуске образа создаются следующие файлы:
Before hello world
report.html
run.sh
wkhtmltopdf
After hello world
Результаты, когда создание образов выполняется в пакете Azure
Before hello world
After hello world
Вот Dockerfile
From "usmancombi/imaging"
COPY ./run_all.sh /run_all.sh
RUN dos2unix /run_all.sh
ENTRYPOINT [ "/run_all.sh" ]
Вот файл run_all.sh
#! /bin/bash
echo "Before hello world"
ls
echo "After hello world"
Чтобы проверить, загружен ли образ, вы можете использовать SSH (или RDP) в своем вычислительном узле и запросить. Однако если вы укажете контейнер в пуле, то вычислительный узел не будет должным образом подготовлен, если указанные контейнеры не найдены или не загружены правильно.
Скорее всего, вы видите эффекты Пакетная служба Azure, устанавливающая рабочий каталог контейнера для $AZ_BATCH_TASK_WORKING_DIR
.
Добавьте pwd
перед ls
в свой сценарий для проверки.
Какие-либо предложения? :)
Вы получите сообщение об ошибке, если изображение контейнера не было загружено. Вы точно видите эффект от того, что пакетная служба Azure устанавливает рабочий каталог контейнера. См. Указанный в ответе документ.
Спасибо @fpark за уделенное время. Если контейнер не найден или загружен неправильно, я ожидаю какой-то текст ошибки в stderr или, может быть, я ошибаюсь в этом случае? Я поставил «pwd» перед «ls», и результат:
Before hello world /mnt/batch/tasks/workitems/JobPool2018-07-19-20-46-15/job-1/task1/wd After hello world