Docker 里面的文件复制
在使用 Docker 构建容器镜像时,文件的复制是一个非常常见的操作。Docker 提供了多种方式来进行文件复制,以满足不同的需求。本文将介绍 Docker 中文件复制的几种方式,并通过代码示例演示其用法。
1. COPY 命令
最常用的方式是使用 COPY
命令。该命令用于将指定的文件或目录从主机复制到容器中的指定路径。语法如下:
COPY <源路径>... <目标路径>
其中,<源路径>
可以是主机上的文件或目录,可以使用通配符匹配多个文件。<目标路径>
是容器中的目标路径,可以是绝对路径或相对路径。
下面是一个示例,将主机上的 app.jar
文件复制到容器的 /app
目录下:
COPY app.jar /app/
2. ADD 命令
ADD
命令与 COPY
命令类似,也是用于将文件或目录从主机复制到容器中。与 COPY
命令不同的是,ADD
命令还支持自动解压缩压缩包,并且可以从 URL 复制文件。语法如下:
ADD <源路径>... <目标路径>
<源路径>
和 <目标路径>
的含义与 COPY
命令相同。
下面是一个示例,将主机上的 app.tar.gz
压缩包解压缩并复制到容器的 /app
目录下:
ADD app.tar.gz /app/
3. 使用容器间复制
有时候,我们可能需要在容器之间复制文件,而不是从主机复制。Docker 提供了一种特殊的路径 --from
来实现容器间的文件复制。语法如下:
COPY --from=<容器> <源路径>... <目标路径>
其中,<容器>
是源容器的名称或 ID,<源路径>
和 <目标路径>
的含义与之前介绍的命令相同。
下面是一个示例,将名为 source
的容器中的 /app
目录复制到当前容器的 /data
目录下:
COPY --from=source /app /data
总结
在 Docker 中,文件的复制是构建容器镜像过程中的一个重要步骤。本文介绍了 Docker 中文件复制的几种方式:COPY
命令用于从主机复制,ADD
命令除了复制还支持解压缩和从 URL 复制,COPY --from
命令用于容器间复制。根据不同的需求选择合适的方式进行文件复制,可以让我们更高效地构建容器镜像。
pie
title 文件复制方式占比
"COPY" : 60
"ADD" : 30
"COPY --from" : 10
以上是关于 Docker 中文件复制的科普文章。希望通过本文的介绍,您对 Docker 中文件复制的方式有了更清楚的了解,并能够根据实际需求灵活运用。