获取 Dockerfile 中的镜像标签

Mef*_*ico 5 docker dockerfile

我有一个 Dockerfile,需要使用命令从 URL 下载特定版本的软件ENV。例如:

Dockerfile

FROM ubuntu

ENV sw_ver=1.2.3

ADD https://some_address/_name_$sw_ver /some_dir
Run Code Online (Sandbox Code Playgroud)

构建命令类似于:

docker build -t my_image:1.2.3 .
Run Code Online (Sandbox Code Playgroud)

ENV现在,如果我可以通过简单地改变命令中的标签来为不同版本的软件构建不同的图像,而不是设置变量,那就太好了docker build。那么是否可以读取里面的标签号Dockerfile并将其用作变量呢?

pal*_*taa 2

使用 bash 脚本,并在脚本的第一个位置参数中添加所需的标签:

#!/bin/bash
docker build --build-arg sw-ver=$1 -t my_image:$1 .
Run Code Online (Sandbox Code Playgroud)

然后调整脚本:

script.sh 1.2.3
Run Code Online (Sandbox Code Playgroud)