创建在Dockerfile中用作FROM时从目录复制文件夹的Docker映像

Jnt0r

我想创建一个可以在其他Dockerfile中使用的Docker映像来构建这些项目。因此,我需要将文件从特定项目的上下文复制到所构建的容器中。

docker是否可以创建可在其他Dockerfile中使用的映像,并在构建特定于项目的Dockerfile时执行该映像的Dockerfile中指定的命令?还是对此有其他解决方案?像“模板”映像或Dockerfiles。

我想要实现的是一个可以在我的项目Dockerfile中简单指定的映像,它可以构建当前项目。当我更新每个项目的图像时,都应该更新。

β.εηοιτ.βε

您所寻找的被称为多阶段构建,并且您可能会在文档中找到一整页的内容。

通常,您可以在上层阶段使用它来构建依赖关系,以便以后使用。

这是文档的示例之一:

FROM golang:1.7.3 AS builder 
WORKDIR /go/src/github.com/alexellis/href-counter/ 
RUN go get -d -v golang.org/x/net/html   
COPY app.go    . 
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app .

FROM alpine:latest   
RUN apk --no-cache add ca-certificates 
WORKDIR /root/ 
COPY --from=builder /go/src/github.com/alexellis/href-counter/app . 
CMD ["./app"]   

来源:https : //docs.docker.com/develop/develop-images/multistage-build/#name-your-build-stages

以及进一步的文档:

将外部图像用作“舞台”

使用多阶段构建时,您不仅限于从之前在Dockerfile中创建的阶段进行复制。您可以使用COPY --from指令从单独的映像进行复制,方法是使用本地映像名称,本地或Docker注册表上可用的标签或标签ID。Docker客户端在必要时提取映像并从那里复制工件。语法为:

COPY --from=nginx:latest /etc/nginx/nginx.conf /nginx.conf

因此,您可以从Dockerfile中明确拥有自己的映像,并使用以下命令构建它:

docker build . -t my-namespace/template

然后在“应用程序” Dockerfile中复制所需的文件:

FROM alpine
COPY --from=my-namespace/template:latest /path/from/template /path/in/app

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Visual Studio-在浏览器(iis)中查看时将子文件夹用作根目录

来自分类Dev

从路径创建文件夹目录?

来自分类Dev

在已安装的文件夹中运行Docker映像命令

来自分类Dev

复制包含所有文件和文件夹的目录

来自分类Dev

从Dockerfile创建Docker基本映像?

来自分类Dev

从文件夹创建ISO映像

来自分类Dev

Python:复制文件时创建文件夹

来自分类Dev

在多个目录中创建和复制文件和文件夹的Linux命令

来自分类Dev

如何将当前目录的文件复制到Dockerfile中的文件夹

来自分类Dev

创建War文件时,Maven不会将空目录复制到webapps文件夹

来自分类Dev

Swift:复制不包含文件的文件夹/目录

来自分类Dev

从派生的docker映像在特定/ home文件夹中创建文件夹不起作用

来自分类Dev

Apache .htaccess将子文件夹用作根目录

来自分类Dev

将Oracle Instant Client zip文件从src文件夹复制到Docker映像

来自分类Dev

Docker不复制资产文件夹

来自分类Dev

在目录中创建多个文件夹

来自分类Dev

如何从Docker映像复制文件-dockerfile cmd

来自分类Dev

停止创建在空手道的目标文件夹中创建的chome文件?

来自分类Dev

当目录不存在时创建文件夹

来自分类Dev

将完整路径传递给Docker映像时,“没有此类文件或目录”,但与相同文件夹的相对路径一起使用

来自分类Dev

尝试使Netbeans复制源文件夹时出现“无法创建目标文件夹”

来自分类Dev

通过终端命令从文件夹创建ISO映像

来自分类Dev

创建父文件夹时将文件列表复制到远程计算机

来自分类Dev

在已安装的文件夹中运行Docker映像命令

来自分类Dev

根据创建日期复制文件夹

来自分类Dev

复制文件夹时压缩文件夹

来自分类Dev

当 Dockerfile 存在于该文件夹中时,如何将任何文件夹复制到 Docker 容器?

来自分类Dev

创建 Maven Web 项目时复制源文件夹

来自分类Dev

如何将文件夹从我的主机挂载到自定义 docker 映像,并在目录中使用 Dockerfile 进行设置?

Related 相关文章

  1. 1

    Visual Studio-在浏览器(iis)中查看时将子文件夹用作根目录

  2. 2

    从路径创建文件夹目录?

  3. 3

    在已安装的文件夹中运行Docker映像命令

  4. 4

    复制包含所有文件和文件夹的目录

  5. 5

    从Dockerfile创建Docker基本映像?

  6. 6

    从文件夹创建ISO映像

  7. 7

    Python:复制文件时创建文件夹

  8. 8

    在多个目录中创建和复制文件和文件夹的Linux命令

  9. 9

    如何将当前目录的文件复制到Dockerfile中的文件夹

  10. 10

    创建War文件时,Maven不会将空目录复制到webapps文件夹

  11. 11

    Swift:复制不包含文件的文件夹/目录

  12. 12

    从派生的docker映像在特定/ home文件夹中创建文件夹不起作用

  13. 13

    Apache .htaccess将子文件夹用作根目录

  14. 14

    将Oracle Instant Client zip文件从src文件夹复制到Docker映像

  15. 15

    Docker不复制资产文件夹

  16. 16

    在目录中创建多个文件夹

  17. 17

    如何从Docker映像复制文件-dockerfile cmd

  18. 18

    停止创建在空手道的目标文件夹中创建的chome文件?

  19. 19

    当目录不存在时创建文件夹

  20. 20

    将完整路径传递给Docker映像时,“没有此类文件或目录”,但与相同文件夹的相对路径一起使用

  21. 21

    尝试使Netbeans复制源文件夹时出现“无法创建目标文件夹”

  22. 22

    通过终端命令从文件夹创建ISO映像

  23. 23

    创建父文件夹时将文件列表复制到远程计算机

  24. 24

    在已安装的文件夹中运行Docker映像命令

  25. 25

    根据创建日期复制文件夹

  26. 26

    复制文件夹时压缩文件夹

  27. 27

    当 Dockerfile 存在于该文件夹中时,如何将任何文件夹复制到 Docker 容器?

  28. 28

    创建 Maven Web 项目时复制源文件夹

  29. 29

    如何将文件夹从我的主机挂载到自定义 docker 映像,并在目录中使用 Dockerfile 进行设置?

热门标签

归档