假设我有一个图像,我想标记为0.10.24(在我的情况下,它是一个包含Node.js 0.10.24的图像)。我使用Dockerfile和执行docker构建,并使用-t参数提供一个标记来构建该映像。
我希望有一天我将拥有该图像的其他版本,因此我将重新运行该过程,只是使用另一个标记名。
到目前为止,一切顺利。这工作得很好,一切都很好。
但是,这就是问题开始的地方,我还想总是有最新的图像标记广告最新另外。所以我想我需要给同一个图像起两个名字。
我怎么做呢?我真的需要重新运行docker构建在完全相同的版本,但这次使用另一个标签,是有更好的选择吗?
这是我的bash脚本
docker build -t ${IMAGE}:${VERSION} .
docker tag ${IMAGE}:${VERSION} ${IMAGE}:latest
然后可以删除未标记的图像,如果您重新构建了相同的版本
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
link
or
docker rmi $(docker images | grep "^<none>" | tr -s " " | cut -d' ' -f3 | tr '\n' ' ')
or
清理命令:
Docker 1.13引入了清理命令。删除所有未使用的容器、映像、网络和卷:
docker system prune
或个人:
docker container prune
docker image prune
docker network prune
docker volume prune
这是我的bash脚本
docker build -t ${IMAGE}:${VERSION} .
docker tag ${IMAGE}:${VERSION} ${IMAGE}:latest
然后可以删除未标记的图像,如果您重新构建了相同的版本
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
link
or
docker rmi $(docker images | grep "^<none>" | tr -s " " | cut -d' ' -f3 | tr '\n' ' ')
or
清理命令:
Docker 1.13引入了清理命令。删除所有未使用的容器、映像、网络和卷:
docker system prune
或个人:
docker container prune
docker image prune
docker network prune
docker volume prune