运行我的简单应用程序映像(托管在Azure容器注册表上)时,我遇到了一个奇怪的问题。当我在azure批处理中创建一个Cloudtask以通过从azure容器注册表获取它来运行图像时,似乎这个图像的基本图像没有从docker hub中拉出来(这是我自己的另一个图像,我推送到docker hub) 。事情是当我在本地运行图像时,everthing按预期工作(在容器中创建了不同的文件/文件夹)但是在azure批处理(没有任何反应)。可能是什么问题。谢谢。
当图像在本地运行时,这些文件被创建:
在你好世界之前
report.html
润.是
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"
要验证图像是否已加载,您可以将SSH(或RDP)连接到计算节点并进行查询。但是,如果在池上指定容器,则如果未找到或正确加载指定的容器,则计算节点将无法正确设置。
最有可能的是,你看到容器的Azure Batch setting the working directory对$AZ_BATCH_TASK_WORKING_DIR
的影响。
在pwd
之前添加ls
在您的脚本中进行验证。