在 Linux VM 上执行 运行 Azure Batch 命令时权限被拒绝
Permission Denied when running Azure Batch Command on Linux VM
我正在尝试 运行 在 Azure Batch 上使用自定义 activity 任务。我的自定义 activity 如下所示(为简洁起见进行了编辑):
"typeProperties": {
"command": "/bin/bash -c \"run.sh\"\n",
...
"userIdentity": {
"autoUser": {
"scope": "pool",
"elevationLevel": "admin"
}
}
}
我的 run.sh 脚本仅包含:
docker run hello-world
当我 运行 时,我在 stderr.txt 中收到以下错误:
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.37/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
我认为 运行ning 作为管理员可能会让我访问 运行 docker 所需的套接字,但事实似乎并非如此。如何在没有权限错误的情况下将 运行 docker 命令作为 Azure Batch 命令?
P.S。我想要一个可以通过编辑配置 JSON
理想地从门户网站完成的解决方案
感谢您的帮助!
在 Azure 门户中,当您完成创建任务之前的所有准备工作,例如池、作业等。然后您可以创建任务来执行您想要的操作。
针对你的问题,创建任务时,截图如下:
如果您选择 User identity with Pool autouser, Admin,那么您将获得成功。输出如下:
但是如果你选择其他的,你会得到你发布的错误和如下输出:
我刚刚在 Azure 门户中测试 Batch 任务。希望对您有所帮助。
我正在尝试 运行 在 Azure Batch 上使用自定义 activity 任务。我的自定义 activity 如下所示(为简洁起见进行了编辑):
"typeProperties": {
"command": "/bin/bash -c \"run.sh\"\n",
...
"userIdentity": {
"autoUser": {
"scope": "pool",
"elevationLevel": "admin"
}
}
}
我的 run.sh 脚本仅包含:
docker run hello-world
当我 运行 时,我在 stderr.txt 中收到以下错误:
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.37/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
我认为 运行ning 作为管理员可能会让我访问 运行 docker 所需的套接字,但事实似乎并非如此。如何在没有权限错误的情况下将 运行 docker 命令作为 Azure Batch 命令?
P.S。我想要一个可以通过编辑配置 JSON
理想地从门户网站完成的解决方案感谢您的帮助!
在 Azure 门户中,当您完成创建任务之前的所有准备工作,例如池、作业等。然后您可以创建任务来执行您想要的操作。
针对你的问题,创建任务时,截图如下:
如果您选择 User identity with Pool autouser, Admin,那么您将获得成功。输出如下:
但是如果你选择其他的,你会得到你发布的错误和如下输出:
我刚刚在 Azure 门户中测试 Batch 任务。希望对您有所帮助。