如何在 docker 个容器之间复制文件?
How to copy a file between docker containers?
我有两个不同的 docker 容器,每个容器都运行一个 PHP 应用程序。我必须解决的问题是将文件列表(使用 PHP copy
命令)从容器 1 复制到容器 2。
例如:
copy('var/www/html/uploads/test.jpg', 'var/www/html/site/uploads/test.jpg');
现在,容器 1 无法访问容器 2 site
。
解决此问题的最佳方法是什么?
使用共享卷传输数据。所以挂载
-v filetransfer:/var/www/html/transfer
or
--mount type=volume,source=filetransfer,destination=/var/www/html/transfer
到两个容器。如果两个容器 运行 不同的 non-root 用户,您必须确保相应地设置文件权限。
如果要避免文件损坏,请对除一个容器以外的所有容器使用 :ro
(read-only) 或通过代码确保这一点。
其他评论:
docker cp
用于将文件从主机复制到容器,反之亦然。
- 在我看来,构建一个 REST-API 来复制单个文件有点 over-engineered,只要您使用的是同一主机。
我有两个不同的 docker 容器,每个容器都运行一个 PHP 应用程序。我必须解决的问题是将文件列表(使用 PHP copy
命令)从容器 1 复制到容器 2。
例如:
copy('var/www/html/uploads/test.jpg', 'var/www/html/site/uploads/test.jpg');
现在,容器 1 无法访问容器 2 site
。
解决此问题的最佳方法是什么?
使用共享卷传输数据。所以挂载
-v filetransfer:/var/www/html/transfer
or
--mount type=volume,source=filetransfer,destination=/var/www/html/transfer
到两个容器。如果两个容器 运行 不同的 non-root 用户,您必须确保相应地设置文件权限。
如果要避免文件损坏,请对除一个容器以外的所有容器使用 :ro
(read-only) 或通过代码确保这一点。
其他评论:
docker cp
用于将文件从主机复制到容器,反之亦然。- 在我看来,构建一个 REST-API 来复制单个文件有点 over-engineered,只要您使用的是同一主机。