试图复制文件夹内容,它适用于我硬编码路径,如:
COPY ./my-folder /path/to/location
Run Code Online (Sandbox Code Playgroud)
但是需要能够改变这条路径,所以我尝试使用这样的构建参数:
COPY ${folderVariable} /path/to/location
Run Code Online (Sandbox Code Playgroud)
然后用
--build-arg folderVariable=./my-folder
Run Code Online (Sandbox Code Playgroud)
但是当我只想要"my-folder"的内容时,它会将所有内容复制到与"my-folder"相同的文件夹中
shi*_*zhz 24
在使用之前,您需要使用ARGin 来定义它Dockerfile:
FROM alpine:3.3
ARG folderVariable=./my-folder # Optional default value to be `./my-folder`
COPY ${folderVariable} /opt/my-folder
Run Code Online (Sandbox Code Playgroud)
建立它像:
docker build --build-arg folderVariable=./folder-copy -t test .
Run Code Online (Sandbox Code Playgroud)
更多细节请参考:https://github.com/docker/docker/blob/master/docs/reference/builder.md#arg
Dze*_*nly 17
扩展仍然不适用于这种COPY --from=$var ...情况。但是您可以创建中间图像作为别名,如下所示:
ARG docsBranch=4.5
ARG docsFullPath=registry.myCompany.pro/group/project-docs/docs:$docsBranch
# Lifehack
FROM $docsFullPath as docs
FROM node:10.21.0-buster-slim
WORKDIR /app
# Now we can use docs instead of $docsFullPath
COPY --from=docs /app/html/en ./documentation/en
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10263 次 |
| 最近记录: |