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

5 jenkins docker

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

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

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

luc*_*gao 5

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

docker ps | awk 'NR > 1 {print $1}'
Run Code Online (Sandbox Code Playgroud)

这个单行输出 docker ps 打印的所有容器 ID。要仅获得第一个,您将使用:

docker ps | awk 'NR > 1 {print $1; exit}'
Run Code Online (Sandbox Code Playgroud)

即使这回答了您的问题,我还是建议您使用容器名称而不是依赖容器 ID。

PS:此解决方案平均比 慢 1 毫秒docker ps -q,但明显更灵活。


小智 5

docker ps -a -q

这将只为您提供容器的ID