我正在尝试使用 Rundeck 构建、启动和链接一组 docker 容器。简而言之(对于那些不熟悉 docker 的人),当一个镜像启动时,它会返回一个容器 ID。我想在启动后续作业时使用此容器 ID。
从命令行运行时,它看起来像这样(仅示例!!):
# docker run -Pd 23ABCD45
34DEF123
# docker run -Pd --link 34DEF123:host1 ABC123EF
321CB456
(注意第二个命令行中第一个返回值的使用)
此时,将有两个容器在运行。第二个将通过选项链接到第一个,并且可以使用第二个容器内的主机名host1--link
对其进行寻址。公平地说,docker 生成(或可能给出)一个特定的容器名称,可以用来代替容器 ID。我更喜欢使用容器 ID 来避免必须创建/跟踪唯一名称的麻烦。
我希望能够捕获第一个命令的输出(容器 ID),以便可以在第二个命令中重用它。这可能吗?
编辑:这些图像被用于在“docker build”之后立即进行测试(它也输出一个我想包含在我的链中的类似 ID),并且可能后面跟着“docker rm”和“docker rmi”命令,所以有有许多用于捕获这种类型的输出并通过一组相关的操作进行输出的用途。这不仅仅是关于启动/链接容器。