运行 Docker 在 Azure Batch Shipyard 上编写
Running Docker Compose on Azure Batch Shipyard
我想知道是否有人知道如何 运行 在 Batch Shipyard 上进行组合,或者不直接使用组合,从而允许多个容器在作业的同一节点上协同工作。这可能吗?
澄清一下——我有几个容器一起工作来解析和处理一个文件。主容器通过网络调用使用其他服务。我要复制的撰写文件的简化示例如下:
version: "3"
services:
primary:
image: "primaryimage"
depends_on:
- secondary
environment:
SECONDARY_URL: secondary:8888
secondary:
image: secondaryimage
在 primary
中的代码 运行 中,调用了 SECONDARY_URL
中给出的 URL 以对数据执行一些转换,并返回响应。
Azure Batch (Shipyard) 没有 out-of-the-box 对 Docker Compose 的支持。
但如果您已经熟悉 Docker Compose,那么将其转换为 shipyard 配置文件并不难。
如果您想 运行 MPI/multi-instance 任务(一组节点合作解决部分计算),请查看 this。
但是,Service Fabric 确实支持 Docker Compose。因此,如果 Docker Compose 支持是一项严格要求,您可以将 Azure Batch 设置与对 Service Fabric 集群的调用结合起来。
这里有一个解决方法可以让这个工作。请注意,作为一种解决方法,它不受官方支持,可能随时会中断。
- 创建一个 Docker 图像,其本身具有 Docker(更具体地说,只需要客户端部分)并安装了 Docker compose。
- 对于
jobs.yaml
中的 tasks
规范:
docker_image
是您在上面创建的图像
- 使用
resource_files
或 input_data
进入任务的撰写文件
additional_docker_run_options
应该有一个项目:
-v /var/run/docker.sock:/var/run/docker.sock
command
将是您的 docker-compose up
命令,带有您需要的任何参数
- 确保您的
config.yaml
指定了您的 Docker 撰写文件所需的所有 Docker 图像以及包含 Docker/docker-compose 本身的 Docker 图像。
我想知道是否有人知道如何 运行 在 Batch Shipyard 上进行组合,或者不直接使用组合,从而允许多个容器在作业的同一节点上协同工作。这可能吗?
澄清一下——我有几个容器一起工作来解析和处理一个文件。主容器通过网络调用使用其他服务。我要复制的撰写文件的简化示例如下:
version: "3"
services:
primary:
image: "primaryimage"
depends_on:
- secondary
environment:
SECONDARY_URL: secondary:8888
secondary:
image: secondaryimage
在 primary
中的代码 运行 中,调用了 SECONDARY_URL
中给出的 URL 以对数据执行一些转换,并返回响应。
Azure Batch (Shipyard) 没有 out-of-the-box 对 Docker Compose 的支持。
但如果您已经熟悉 Docker Compose,那么将其转换为 shipyard 配置文件并不难。
如果您想 运行 MPI/multi-instance 任务(一组节点合作解决部分计算),请查看 this。
但是,Service Fabric 确实支持 Docker Compose。因此,如果 Docker Compose 支持是一项严格要求,您可以将 Azure Batch 设置与对 Service Fabric 集群的调用结合起来。
这里有一个解决方法可以让这个工作。请注意,作为一种解决方法,它不受官方支持,可能随时会中断。
- 创建一个 Docker 图像,其本身具有 Docker(更具体地说,只需要客户端部分)并安装了 Docker compose。
- 对于
jobs.yaml
中的tasks
规范:docker_image
是您在上面创建的图像- 使用
resource_files
或input_data
进入任务的撰写文件 additional_docker_run_options
应该有一个项目:-v /var/run/docker.sock:/var/run/docker.sock
command
将是您的docker-compose up
命令,带有您需要的任何参数
- 确保您的
config.yaml
指定了您的 Docker 撰写文件所需的所有 Docker 图像以及包含 Docker/docker-compose 本身的 Docker 图像。