首页 > 解决方案 > 在 Azure 容器实例中启动的容器对哪些目录具有读取权限?

问题描述

我的目标是运行一个 python 脚本,该脚本被传递给一个包含源代码和依赖项的 docker 容器。这将使用 Azure 容器实例 (ACI) 运行。在我的家用机器上,我可以在 docker 中执行此操作(将 ENTRYPOINT 或 CMD 设置为“python”)

docker run myimage "myscript.py"

前提是我从包含myscript.py.

经过一番阅读,我认为可以在 azure 上使用此处az container create --command-line所示的方式实现类似的事情。我的容器创建将类似于

az container create \
  --resource-group myResourceGroup \
  --name my-container \
  --image myimage:latest \
  --restart-policy Never \
  --command-line "python 'myscript.py'"

但是容器无法找到myscript.py。我正在使用 Azure Cloud Shell。我尝试从包含 的目录中启动容器myscript.py,并且还尝试在其中添加文件共享myscript.py。在这两种情况下,我都会收到错误

python3:无法打开文件'myscript.py':[Errno 2]没有这样的文件或目录

我想我根本不了解容器以及它们如何与 azure 上的主机目录结构交互。任何人都可以提供一些建议或资源指针吗?

标签: azuredockerazure-container-instances

解决方案


前提是我从包含 myscript.py 的目录中启动容器。

从哪里发出启动容器实例的命令根本不重要。这些文件需要存在于您的图像中。或者您也可以将存储安装到其中并从那里读取。


推荐阅读