4yb*_*aka 89 docker docker-compose
我想通过docker-compose构建图像并为其设置特定标记.文件说:
Compose将使用生成的名称构建并标记它,然后使用该图像.
但我找不到指定标签的方法,对于构建的图像,我总是看到'最新'标签.
小智 149
似乎文档/工具已更新,您现在可以将image标记添加到脚本中.这对我来说很成功.
例:
version: '2'
services:
baggins.api.rest:
image: my.image.name:rc2
build:
context: ../..
dockerfile: app/Docker/Dockerfile.release
ports:
...
Run Code Online (Sandbox Code Playgroud)
https://docs.docker.com/compose/compose-file/#build
Rya*_*ath 36
我想补充一点,您还可以通过环境变量或 .env 文件管理标签版本。
https://docs.docker.com/compose/environment-variables/#the-env-file
export TAG=1.11
例子:
version: '3.3'
services:
baggins.api.rest:
image: my.image.name:${TAG}
build:
context: ../..
dockerfile: app/Docker/Dockerfile.release
ports:
...
Run Code Online (Sandbox Code Playgroud)
docker-compose config验证
在我的 ci 管道中,我的第一个构建标记有用于运行测试的一次性值。然后我将标签更改为最新并再次重建(几乎是即时的,因为它全部被缓存),然后推送到注册表。
Ric*_*ico 16
原始答案2015年11月20日:
截至今天,没有特定标签的选项.Docker compose只是做它的魔法并分配你正在看到的标签.docker tag <image> <tag>调用docker-compose后,您总是可以调用一些脚本.
现在有一个如上所述或此处所述的选项
build: ./dir
image: webapp:tag
Run Code Online (Sandbox Code Playgroud)
Doğ*_*ğuş 14
如果您已经构建了映像,则可以使用以下命令重新标记docker tag它:
docker tag imagename imagename:v1.0
docker tag imagename:v1.0 imagename:v1.1
Run Code Online (Sandbox Code Playgroud)
如果您的存储库附加了多个标签,并且想要删除其中一个标签,则可以使用以下docker rmi命令:
$ docker rmi imagename:v1.0
Untagged imagename:v1.0
Run Code Online (Sandbox Code Playgroud)
参考:
小智 8
你可以试试:
services:
nameis:
container_name: hi_my
build: .
image: hi_my_nameis:v1.0.0
Run Code Online (Sandbox Code Playgroud)
如果您指定 image 和 build,那么 Compose 会使用 image 中指定的 webapp 和可选标签命名构建的镜像:
build: ./dir
image: webapp:tag
Run Code Online (Sandbox Code Playgroud)
这会生成一个名为webapp并标记为 的图像tag,从./dir.
https://docs.docker.com/compose/compose-file/#build
https://docs.docker.com/compose/compose-file/#image
如果平台上不存在该映像,Compose 实现必须尝试根据
pull_policy. 具有构建支持的 Compose 实现可以为最终用户提供替代选项,以控制从源构建镜像的拉取优先级,但是拉取镜像必须是默认行为。
https://docs.docker.com/compose/compose-file/build/#tags
tags定义必须与构建映像关联的标签映射列表。此列表是对image服务部分中定义的属性的补充
如果image指定,拉取镜像将是默认行为,因此如果您只想使用本地镜像,则不应指定image。
tagsinbuild部分是指定本地图像标签的正确位置。
services:
backend:
build:
context: backend
dockerfile: ../backend.Dockerfile
tags:
- "myimage:mytag"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79917 次 |
| 最近记录: |