dockerfile 中设定 LABEL build date, 不准使用手动参数 --build-arg, 也不得涉及echo 修改 /etc/docker-image-info, 只能使用RUN命令
时间: 2024-03-27 08:35:11 浏览: 23
可以通过在 Dockerfile 中使用 RUN 命令来实现。下面是一种可能的解决方案:
```Dockerfile
FROM some-image
# 设置构建日期标签
RUN printf "build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ")\n" >> /image-info
# 设置标签
LABEL build-date=$(cat /image-info | grep build-date | cut -d= -f2)
# 删除临时文件
RUN rm /image-info
```
这个 Dockerfile 中使用了 printf 命令来将当前时间格式化为 ISO 8601 格式,并将其追加到一个临时文件中。然后使用 grep 和 cut 命令来提取出构建日期,并将其设置为标签。最后,使用 RUN 命令删除临时文件。这样就可以在构建镜像时自动生成构建日期标签,而不需要手动指定参数或修改 /etc/docker-image-info 文件。
相关问题
dockerfile 中设定LABEL build date, 自动生成当前日期
可以使用 Dockerfile 中的变量来自动生成当前日期,然后将其设置为 `LABEL build_date` 的值。具体实现方式如下:
```
ARG BUILD_DATE
LABEL build_date=$BUILD_DATE
```
在上述代码中,我们定义了一个名为 `BUILD_DATE` 的变量,并将其作为参数传递给 Docker 构建命令。在命令行中运行构建命令时,可以使用 `--build-arg` 参数来设置该变量的值,例如:
```
docker build --build-arg BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") -t myimage .
```
在上述示例中,我们使用 `$(date -u +"%Y-%m-%dT%H:%M:%SZ")` 命令来获取当前的 UTC 时间,并将其格式化为 ISO 8601 格式的字符串。然后,我们通过 `--build-arg` 参数将该字符串作为 `BUILD_DATE` 变量的值传递给 Docker 构建命令。最终,Docker 会将该值设置为 `LABEL build_date` 的值,并将其添加到镜像的元数据中。
docker buildx build -f ./docker-maven/Dockerfile -t jsv:0.0.1 --build-arg SHIPPER_APP_VERSION=@TestPipeline
你的第一个问题是关于 Docker 的命令,这个命令的作用是使用 Docker Buildx 构建一个名为 jsv:0.0.1 的 Docker 镜像,并且使用 docker-maven 目录下的 Dockerfile 文件进行构建。其中,--build-arg SHIPPER_APP_VERSION=@TestPipeline 是一个构建参数,用于设置环境变量 SHIPPER_APP_VERSION 的值为 @TestPipeline。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)