如何在Docker容器之间互相拷贝文件?

在使用 Docker 容器的时候可能会在容器之间进行数据拷贝的操作,但是容器与系统之间是隔离的,我们要如何操作呢?

这里给大家介绍两种数据共享的方式:

1. 使用 docker run -v 参数启动容器

在使用 docker run 启动容器时,加上 -v 参数,挂载主机数据卷到容器内。

假设我们有一个 chadou/nginx 的容器,我们将docker内的/wwwroot/ 与本地 ./wwwroot/ 进行共享,那么在启动的时候执行下面的命令:

docker run --name nginx-v1 -v ./wwwroot:/wwwroot -it chadou/nginx

2. 使用 docker cp 命令

docker 容器提供了 docker cp 命令来进行文件拷贝。

上传命令格式:

docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH

OPTIONS说明:
-L: 保持源目标中的链接

docker cp ./wwwroot/index.html nginx-v1:/wwwroot/

该命令意思是将本地 ./wwwroot 目录下的 index.html 文件拷贝到 docker 容器 nginx-v1 里面的 /wwwroot 目录下。
注意:目标容器可以是容器名或容器ID

下载命令格式:

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH

docker cp nginx-v1:/wwwroot/index.html ./wwwroot/

和上传命令正好相反,执行上面的命令是将容器内的 index.html 文件拷贝到本地 ./wwwroot/ 目录下。

其他

我们拷贝了文件到容器内,怎么才能知道是否成功呢?登陆到容器里面看一下吧
如何进入docker容器

如需转载,请注明出处: https://chadou.me/p/219

最新发布