我想知道是否有人知道如何在Batch Shipyard上运行compose,或者没有直接使用compose,允许多个容器在作业中的同一节点上协同工作。这可能吗?
澄清 - 我有几个一起工作的容器解析并处理文件。主容器通过网络呼叫使用其他服务。我要复制的撰写文件的简化示例如下:
version: "3"
services:
primary:
image: "primaryimage"
depends_on:
- secondary
environment:
SECONDARY_URL: secondary:8888
secondary:
image: secondaryimage
在primary
中运行的代码中,调用SECONDARY_URL
中给出的URL对数据执行某些转换,并返回响应。
答案 0 :(得分:1)
Azure Batch(Shipyard)没有对Docker Compose的开箱即用支持。
但是如果您已经熟悉Docker Compose,那么将它转换为造船厂配置文件并不太难。
如果要运行MPI /多实例任务(一组节点合作解决部分计算),请查看this。
但是,Service Fabric确实支持Docker Compose。因此,如果Docker Compose支持是严格的要求,您可以将Azure Batch设置与对Service Fabric群集的调用结合起来。
答案 1 :(得分:0)
这是允许此工作的解决方法。请注意,作为一种解决方法,它不受官方支持,并且可能随时中断。
tasks
中的jobs.yaml
规范:
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组合的Docker镜像。