我想通过docker-compose构建图像并为其设置特定标记。 Documentation说:
Compose将使用生成的名称构建并标记它,并使用它 此后的图像。
但是我找不到指定标签的方法,对于构建的图像我总是看到'最新'标签。
答案 0 :(得分:121)
似乎文档/工具已更新,您现在可以将image
标记添加到脚本中。这对我来说很成功。
示例:
version: '2'
services:
baggins.api.rest:
image: my.image.name:rc2
build:
context: ../..
dockerfile: app/Docker/Dockerfile.release
ports:
...
答案 1 :(得分:14)
原始回答 11月20日' 15 :
截至今天,没有特定标签的选项。 Docker compose只是做它的魔法并分配你正在看到的标签。调用docker-compose后,您可以随时调用docker tag <image> <tag>
脚本。
现在有一个如上所述的选项或here
build: ./dir
image: webapp:tag
答案 2 :(得分:3)
如果指定图像和构建,则使用webapp和图像中指定的可选标记Compose命名构建的图像:
build: ./dir
image: webapp:tag
这会产生一个名为webapp和tagged tag的图像,由./dir。
构建答案 3 :(得分:0)
您可以尝试:
services:
nameis:
container_name: hi_my
build: .
image: hi_my_nameis:v1.0.0
答案 4 :(得分:0)
确保 Dockerfile 中的 FROM 语句包含正确的图像名称。
答案 5 :(得分:0)
如果您已经构建了映像,则可以使用 docker tag
命令重新标记:
docker tag imagename imagename:v1.0
docker tag imagename:v1.0 imagename:v1.1
如果您的存储库附加了多个标签,并且您想删除其中一个,您可以使用 docker rmi
命令:
$ docker rmi imagename:v1.0
Untagged imagename:v1.0
参考: