【问题标题】:Azure batch task not pulling the base image from docker hubAzure 批处理任务未从 docker hub 拉取基础映像
【发布时间】:2018-07-19 16:57:18
【问题描述】:

在运行我的简单应用程序映像(托管在 Azure 容器注册表上)时,我遇到了一个奇怪的问题。当我在 azure 批处理中创建 Cloudtask 以通过从 azure 容器注册表获取映像来运行映像时,似乎该映像的基本映像没有从 docker hub 拉出(这是我自己的另一个映像,我推送到 docker hub) .事情是当我在本地运行图像时,一切都按预期工作(在容器中创建了不同的文件/文件夹),但是在天蓝色批处理上(没有任何反应)。可能是什么问题。谢谢你。

图像在本地运行时创建这些文件时的结果:

在你好世界之前

报告.html

运行.sh

wkhtmltopdf

在你好世界之后

在 Azure 批处理上运行映像时的结果

在你好世界之前

在你好世界之后

这里是 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"

【问题讨论】:

    标签: docker dockerfile dockerhub azure-batch azure-container-registry


    【解决方案1】:

    要验证图像是否已加载,您可以通过 SSH(或 RDP)进入您的计算节点并进行查询。但是,如果您在池中指定容器,则如果未找到或未正确加载指定的容器,则计算节点将无法正确配置。

    您很可能会看到容器的Azure Batch setting the working directory$AZ_BATCH_TASK_WORKING_DIR 的影响。

    在您的脚本中在ls 之前添加pwd 以进行验证。

    【讨论】:

    • 感谢@fpark 抽出宝贵时间。如果未找到或正确加载容器,我希望在 stderr 中出现某种错误文本,或者在这种情况下我可能错了?我确实在“ls”之前放了“pwd”,结果是:Before hello world /mnt/batch/tasks/workitems/JobPool2018-07-19-20-46-15/job-1/task1/wd After hello world
    • 有什么建议吗? :)
    • 如果容器镜像没有加载,你会得到一个错误。您将看到 Azure Batch 设置容器工作目录的确切效果。请参阅答案中的参考文档。
    猜你喜欢
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 2017-11-28
    • 2018-05-23
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-14
    相关资源
    最近更新 更多