azure - 在 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 上的主机目录结构交互。任何人都可以提供一些建议或资源指针吗?
解决方案
前提是我从包含 myscript.py 的目录中启动容器。
从哪里发出启动容器实例的命令根本不重要。这些文件需要存在于您的图像中。或者您也可以将存储安装到其中并从那里读取。
推荐阅读
- curl - 向googleapis发送请求,响应为空
- mysql - 获取别名 sql 的总和
- reactjs - 如何将 d3 与 reactJS / nextJS 一起使用?
- reactjs - 如何在 ReactJS 中使用 ref 更新输入值
- http - x/net/http2:ConnState 无法跟踪
- laravel - 如何使用控制器和复选框在 laravel 8 中轻松创建过滤器
- arrays - 错误:在 C 中初始化二维结构变量时的预期表达式
- sql - 我有一个名称重复但标记不同的表,需要如下输出
- django - 如何从嵌套表示 Django 中排除字段?
- git - 使用 Powershell 脚本在 Azure 上配置 CI/CD 管道