是否可以使用变量作为 from 标志的参数从 dockerfile 内的另一个图像进行复制?
我要实现的目标如下
ARG MY_VERSION
COPY --from=my-image:$MY_VERSION /src /dst
Run Code Online (Sandbox Code Playgroud)
但我总是得到
标志值 my-image 无效:$MY_VERSION:参考格式无效
Han*_*ian 10
您可以做您想做的事情,但您需要有一个 FROM 语句来标识要从中复制的图像。像这样的东西
ARG MY_VERSION
FROM my-image:$MY_VERSION as source
FROM scratch as final
COPY --from=source /src /dst
Run Code Online (Sandbox Code Playgroud)
替换scratch为您要用于新图像的基本图像。
这是一个例子来证明它是有效的。Dockerfile:
ARG MY_VERSION
FROM ubuntu:$MY_VERSION as source
FROM alpine:latest
COPY --from=source /etc/os-release /
Run Code Online (Sandbox Code Playgroud)
构建并运行
docker build --build-arg MY_VERSION=20.04 -t test .
docker run --rm test cat /os-release
Run Code Online (Sandbox Code Playgroud)
输出显示
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
...
Run Code Online (Sandbox Code Playgroud)
这表明它已将文件从 Ubuntu 20.04 映像复制到 Alpine 映像。
| 归档时间: |
|
| 查看次数: |
3483 次 |
| 最近记录: |