6.6. 将文件复制到 OpenShift Container Platform 容器或从中复制
您可以使用 rsync
命令,通过 CLI 将本地文件复制到容器中的远程目录,或从中复制文件。
6.6.1. 了解如何复制文件
oc rsync
命令(或远程同步)是一个实用的工具,能够将数据库存档复制到 pod 中或从 pod 中复制,以满足备份和恢复的需要。当运行的 pod 支持源文件热重载时,您还可以使用 oc rsync
将源代码更改复制到运行的 pod,从而进行开发调试。
$ oc rsync <source> <destination> [-c <container>]
6.6.1.1. 要求
- 指定复制来源
-
oc rsync
命令的 source 参数必须指向本地目录或 pod 目录。不支持单个文件。
指定 pod 目录时,目录名称必须加上 pod 名称前缀:
<pod name>:<dir>
如果目录名以路径分隔符 (/
) 结尾,则只有目录的内容会复制到目的地。否则,目录及其内容都会复制到目的地。
- 指定复制目的地
-
oc rsync
命令的 destination 参数必须指向某个目录。如果该目录不存在,但使用rsync
进行复制,系统会为您创建这个目录。 - 删除目的地上的文件
-
可以使用
--delete
标志,在远程目录中删除本地目录中没有的文件。 - 在文件更改时持续同步
-
如果使用
--watch
选项,命令可以监控源路径上的任何文件系统更改,并在发生更改时同步它们。使用这个参数时,命令会永久运行。
同步会在短暂的静默期后进行,以确保迅速更改的文件系统不会导致持续的同步调用。
使用 --watch
选项时,其行为实际上和手动反复调用 oc rsync
一致,通常传递给 oc rsync
的所有参数也一样。因此,您可以使用与手动调用 oc rsync
时相同的标记来控制其行为,比如 --delete
。