docker - 将变量传递给 Dockerfile 并在 Tag 版本中使用它?
问题描述
有谁知道我如何在 Dockerfile 和 docker-compose 文件中使用某种变量进行标记?
我注意到这里有 ARGS https://docs.docker.com/compose/compose-file/#args
所以看来我可以将它发送到 Dockerfile 但如何在 docker-compose 中使用它来标记版本。
例如
postrgres:
image: myrepo/postgres:$$HERE NEED TO USE THE VARIABLE AS TAG$$
build: ./postgres
我想在 Dockerfil 中接收相同的值,并在 TAG 版本中使用它。
有人知道该怎么做吗?
检查了文档,但我找不到任何东西。
提前致谢
解决方案
没有尝试过,但我会想象这样的配置:
postrgres:
image: myrepo/postgres:${POSTGRES_VERSION}
build: ./postgres
args:
- POSTGRES_VERSION
Dockerfile 的开头如下:
ARG POSTGRES_VERSION
FROM myrepo/postgres:${POSTGRES_VERSION}
然后让 docker compose 模板知道$POSTGRES_VERSION
.
将它作为$POSTGRES_VERSION
环境变量添加到您的 shell 中:
export POSTGRES_VERSION=12.0
或者只是在.env
文件中设置值。
推荐阅读
- copy - \复制中的日期戳
- react-native - 如何在反应原生中测试模态和门户内的 RN 组件渲染
- html - 如何通过 css 修改 HTML 页面上的视频位置?
- ssl - Disable TLS 1.3 in Twisted Python
- javascript - 登录时如何打开模式窗口
- ruby-on-rails - 如何在 ruby on rails 应用程序中从数据库中获取特定记录值?
- java - 进程(从容器中的 Java 开始)在哪里执行?
- android - Android Studio,清单合并失败,出现多个错误
- swift - 调整 NSPopover 窗口的大小
- javascript - HTML 表单确认提交错误