0


docker 容器的文件拷贝

一、已运行的容器拷贝方式

使用

docker cp

命令将文件从物理机复制到运行中的 Docker 容器中,或者从 Docker 容器中复制文件到物理机上。

例如,要将物理机上的文件

test.txt

复制到名为

mycontainer

的容器

/app

目录中,可以使用以下命令:

从主机拷贝文件到容器中:

docker cp test.txt mycontainer:/app/test.txt

其中,

test.txt

是要复制的本地文件,

mycontainer

是容器的名称,

/app/test.txt

是容器的文件路径。

如果要将 Docker 容器中的文件复制到物理机上,可以使用以下命令:

从容器中拷贝文件到主机中:

docker cp mycontainer:/app/test.txt test.txt

这条命令实现了将容器

mycontainer

中的

/app/test.txt

文件复制到本地目录下的

test.txt

文件中。

需要注意的是,

docker cp

命令需要在 Docker 版本 1.8 或更高版本中才能使用。另外,在使用时需要确保对要复制的文件拥有足够的读写权限。

二、构建dockerfile时拷贝

Dockerfile 中可以直接使用

COPY

ADD

指令将本地文件复制到镜像中,原理是 Docker 在构建镜像时,会先将本地文件复制到一个临时目录中,然后再将该目录添加到镜像的文件系统中。

当使用

COPY

ADD

指令时,Docker 构建引擎会根据指定的源路径从构建上下文中查找相应的文件或目录,并将其复制到镜像中的目标路径中。如果源路径是一个目录,则目标路径必须以

/

结尾,否则会导致 COPY 或 ADD 操作失败。

例如,在下面的 Dockerfile 中:

FROM nginx:latest 
COPY index.html /usr/share/nginx/html/
ADD static.tar.gz /usr/share/nginx/html/

这个 Dockerfile 指定了

nginx:latest

作为基础镜像,然后将本地目录中的

index.html

文件复制到镜像中的

/usr/share/nginx/html/

目录中。在构建镜像时,Docker 构建引擎会先将

index.html

复制到一个临时目录中,然后再将该目录添加到镜像的文件系统中,以此来实现将文件从本地复制到镜像中。

因此,直接在 Dockerfile 中使用

COPY

ADD

指令来将本地文件复制到容器中是可行的。而且,这样做还可以自动化地将文件复制到镜像中,使得在创建新容器时可以直接使用该镜像,并且不需要再手动复制文件。

标签: docker 容器 运维

本文转载自: https://blog.csdn.net/weixin_43391813/article/details/131308833
版权归原作者 青凯平 所有, 如有侵权,请联系我们删除。

“docker 容器的文件拷贝”的评论:

还没有评论