Docker 不同的码头集装箱链?

Docker 不同的码头集装箱链?,docker,docker-compose,dockerfile,docker-swarm,Docker,Docker Compose,Dockerfile,Docker Swarm,我必须分析大量需要不同工具的文件。现在我有几个步骤,每个步骤都在各自独立的Docker容器中。每个容器接受一个文件夹作为输入,并提供一个包含输出文件的文件夹,一切正常。现在我想把它自动化为一个容器链。一个容器如何启动下一个容器?我是否必须在Docker中使用Docker,因为容器无法在主机系统中启动新容器 奖金: 如果run命令不同,因为它取决于 以前的集装箱 非常感谢您,目前还无法找到有效的解决方案。如果您想简单地依次启动容器,可以使用shell脚本: #!/bin/bash echo "

我必须分析大量需要不同工具的文件。现在我有几个步骤,每个步骤都在各自独立的Docker容器中。每个容器接受一个文件夹作为输入,并提供一个包含输出文件的文件夹,一切正常。现在我想把它自动化为一个容器链。一个容器如何启动下一个容器?我是否必须在Docker中使用Docker,因为容器无法在主机系统中启动新容器

奖金:

  • 如果run命令不同,因为它取决于 以前的集装箱

非常感谢您,目前还无法找到有效的解决方案。

如果您想简单地依次启动容器,可以使用shell脚本:

#!/bin/bash
echo "Running first container"                                                                                                                                                                                 
docker run -it --name sleep1 --rm sleep
echo "Running second container"
docker run -it --name sleep2 --rm sleep
示例Dockerfile(docker构建-t sleep.):

也许这能帮你得到你想要的。如果没有,请多描述一下你想要实现的目标。也许是代码示例之类的

编辑: 基于创建者的新信息,我认为只有两种可能性可以将多个容器的开始从容器外链接起来:

  • 1.:在Docker(嵌套容器)中运行Docker。但这并不是真正的建议
  • 2.:从主机上的容器通过ssh从上面运行脚本

如果要简单地依次启动容器,可以使用shell脚本:

#!/bin/bash
echo "Running first container"                                                                                                                                                                                 
docker run -it --name sleep1 --rm sleep
echo "Running second container"
docker run -it --name sleep2 --rm sleep
示例Dockerfile(docker构建-t sleep.):

也许这能帮你得到你想要的。如果没有,请多描述一下你想要实现的目标。也许是代码示例之类的

编辑: 基于创建者的新信息,我认为只有两种可能性可以将多个容器的开始从容器外链接起来:

  • 1.:在Docker(嵌套容器)中运行Docker。但这并不是真正的建议
  • 2.:从主机上的容器通过ssh从上面运行脚本

只需使用docker compose启动多个容器即可。您还可以使用shellscript来实现这一点。还是要求第二个容器只在第一个容器完成时启动?@Hannes是的,因为它需要第一个容器的输出。也许最好使用多阶段docker构建…这样,您可以共享数据并彼此链接:@Hannes我想使用flask网站作为GUI来启动分析。如果我采用多阶段构建,网站将不再工作,对吗?我还可以使用此解决方案动态设置下一个容器的共享卷吗?@TheInovat,您是否正在寻找类似:Docker in Docker in Docker in Docker…?只需使用Docker compose启动多个容器。您还可以使用shellscript来实现这一点。还是要求第二个容器只在第一个容器完成时启动?@Hannes是的,因为它需要第一个容器的输出。也许最好使用多阶段docker构建…这样,您可以共享数据并彼此链接:@Hannes我想使用flask网站作为GUI来启动分析。如果我采用多阶段构建,网站将不再工作,对吗?我还可以使用此解决方案动态设置下一个容器的共享卷吗?@TheInovat,您是否正在寻找类似:Docker in Docker in Docker in Docker…?首先,感谢您花时间帮助我。你的解决方案确实有效,但我希望它有点不同。Perfect将是一个主容器,它能够启动一个容器链,当容器终止时,容器随后启动下一个容器。我希望这更清楚一点?我只看到两种可能性:1:在Docker(嵌套容器)中运行Docker。但这并不是真正的建议。2.:从主机上的容器通过ssh运行上面的脚本。首先,感谢您花时间帮助我。你的解决方案确实有效,但我希望它有点不同。Perfect将是一个主容器,它能够启动一个容器链,当容器终止时,容器随后启动下一个容器。我希望这更清楚一点?我只看到两种可能性:1:在Docker(嵌套容器)中运行Docker。但这并不是真正的建议。2.:从主机上的容器通过ssh从上面运行脚本。