获取刚build好的图像的ID

我有一个运行docker build -t $REPOSITORY:$VERSION .的Makefile docker build -t $REPOSITORY:$VERSION . – 这工作正常。 现在我想自动添加latest标签到build成的图像。

这个命令是: docker tag $IMAGE_ID latest

如何以编程方式获取图像ID,即我刚刚构build的图像的ID?

$IMAGE_ID实际上并不一定是图片ID。 如果您知道图像名称(在您的情况下可能是$REPOSITORY:$VERSION ),那么docker tag命令就足够了:

 $ docker tag $REPOSITORY:$VERSION $REPOSITORY:latest 

但是,请注意docker tag的第二个参数仍然需要图像名称; 只有指定标签是不够的(当只指定latest ,你将会得到一个名为latest:latest的图像)。


要从字面上回答您的问题,您可以使用docker images命令来获取具有已知名称的图像的ID:

 $ IMAGE_ID=$(docker images -q $REPOSITORY:$VERSION) 

或者,也可以select最新的图像

 $ IMAGE_ID=$(docker images -q | head -1)