【发布时间】:2015-10-12 18:02:08
【问题描述】:
我在 docker 设置中有一个应用程序。我想在主机上运行一个脚本,该脚本将在现有(正在运行的容器)中运行一些命令。
如果我知道容器 id,比如说……它是 50250e572090……那么我可以像这样运行脚本
例如...
#!/usr/bin/env bash
docker exec 50250e572090 example_command_1_here
docker exec 50250e572090 example_command_2_here
docker exec 50250e572090 example_command_3_here
docker exec 50250e572090 example_command_4_here
效果很好! ......但这里的事情是我只知道图像名称......而不是容器ID。要找到容器 id ...我使用 docker ps ...我得到这样的东西 ...
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
50250e572090 aws_beanstalk/staging-app:latest "/sbin/my_init" 29 hours ago Up 29 hours 80/tcp, 443/tcp drunk_bardeen
它的输出不是我可以使用的(管道通过)。我可以运行哪个命令来获取容器 ID 作为输出,然后可以将其通过管道传输到脚本中?或者现在很清楚我想要实现的目标......有没有更好的方法?
Ps:我的上下文是我在弹性豆茎上......但我看不出这会如何改变任何东西。还不如在本地主机上...问题是一样的。
【问题讨论】:
标签: ruby-on-rails docker amazon-elastic-beanstalk