Shell命令从“ docker ps”获取容器ID

时间:2018-07-13 21:59:33

标签: docker jenkins

我基本上希望实现这两个步骤: 1.运行docker映像:    泊坞窗运行-p 80:80 some-image-name:25 2.现在“ docker ps”返回有关容器的全部数据,但是我只是在寻找容器ID 3.对它进行一些测试。  docker exec -it / usr / bin / npm运行测试

所以我的问题是如何从步骤2中仅获取容器ID。

注意:我的Jenkins管道脚本需要此流程。

5 个答案:

答案 0 :(得分:3)

docker ps -a -q

这只会为您提供容器的ID

答案 1 :(得分:1)

您可以使用awk来获取容器ID,如下所示:

docker ps | awk 'NR > 1 {print $1}'

此一列式输出docker ps打印的所有容器ID。要仅获取第一个,请使用:

docker ps | awk 'NR > 1 {print $1; exit}'

即使可以回答您的问题,我还是建议您使用image tags而不是依赖容器ID。

答案 2 :(得分:1)

您可以使用docker功能来完成此任务:

  

docker ps --filter volume = remote-volume --format“ table {{.ID}} \ t {{。Mounts}}”

带有--format“ {{.ID}}”的

仅获得ID。您也可以过滤。阅读documentation of docker ps了解更多详细信息

答案 3 :(得分:1)

docker ps --format {{.ID}}

将仅返回正在运行的容器的ID。

答案 4 :(得分:1)

将为您提供图像名称为25的图像ID

image_ID=sudo docker images | grep image-name:25 | awk { print $3 }