Docker从容器中复制文件

发布时间:2023-05-24

一、基础知识

Docker是一个轻量级的虚拟化容器,容器中运行的应用程序是独立于宿主机的,并且它们共享宿主机的操作系统内核。Docker最大的优势是可以快速地构造、分发和运行应用程序。因此,Docker从容器中复制文件是常见操作之一。

二、Docker从容器中复制文件操作

在Docker中,从容器复制文件分为两个步骤:先从容器中将文件复制到宿主机,然后将文件从宿主机再复制到其它容器。

1. 从容器中复制到宿主机

首先进入要复制文件的容器中,使用以下命令从容器中将文件复制到宿主机:

docker cp container_name:path_to_file local_path

其中,container_name是容器名,path_to_file是容器中要复制的文件路径,local_path是宿主机中要复制到的本地路径。 例如,从名为web的容器中复制index.html文件到宿主机的/var/www/html目录下:

docker cp web:/usr/share/nginx/html/index.html /var/www/html

2. 从宿主机复制到其他容器

将文件从宿主机复制到其他容器,需要使用以下命令:

docker cp local_path container_name:path_to_file

其中,local_path是宿主机中要复制的本地路径,container_name是容器名,path_to_file是容器中要复制到的路径。 例如,将宿主机中的index.html文件复制到名为web2的容器中:

docker cp /var/www/html/index.html web2:/usr/share/nginx/html/

三、Dockerfile中使用COPY

在Dockerfile中,我们可以使用COPY指令将文件复制到容器中。 语法如下:

COPY source destination

其中,source是要复制的文件或目录,destination是复制到容器中的路径。 例如,将宿主机中的index.html复制到容器的/usr/share/nginx/html目录下:

COPY index.html /usr/share/nginx/html/

四、总结

Docker从容器中复制文件是一个常见且必要的操作。我们可以使用docker cp命令从容器中将文件复制到宿主机,再使用docker cp命令将文件从宿主机复制到其他容器。同时,在Dockerfile中,我们可以使用COPY指令将文件复制到容器中。以上操作可以帮助我们快速构建和部署应用程序。