docker - rsync 无法识别 Windows 路径

标签 docker docker-compose rsync boot2docker docker-toolbox

我正在尝试通过在 git bash 中运行 shell 脚本在 Windows 7(带有 oracle VM 的 Docker 工具箱)中构建一个 docker 容器,并且该脚本具有带有 rsync 的命令,如下所示:

rsync -a --exclude='*/node_modules' $PROJECT_PATH/project_name/src/ ./project_name/src

$PROJECT_PATH=/c/Users/yajnesh_rai/git 的值

这是我在控制台中看到的:
ssh: Could not resolve hostname c: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.2]

一些在线文档说对没有驱动器名称的路径使用正斜杠,我试过这种方式
$PROJECT_PATH=\\Users\\yajnesh_rai\\git

这使得 rsync 工作,但无法复制文件,如下所示:
\Users\yajnesh_rai\git/project_name/src/folder_name/file_name: warning: directory does not exist.

我按照这篇文章中提到的步骤在 Windows 上安装了 rsync:https://blog.tiger-workshop.com/add-rsync-to-git-bash-for-windows/

任何帮助解决这个问题表示赞赏!提前致谢

最佳答案

Rsync 在 Windows 中存在绝对路径问题

我在使用 rsync 时遇到了完全相同的问题在 Windows(Windows 10 64 位)上。rsync不喜欢绝对的 Windows 路径,因为 C:在路径中。因此,您应该:

Replace C: with /cygdrive/c.



使用示例

这就是我使用 rsync 的方式在 Windows 上:

rsync -av --delete /cygdrive/c/Users/Kristof/src_folder/ /cygdrive/c/Users/Kristof/dst_folder/

Rsync 同步源文件夹 C:/Users/Kristof/src_folder/到目标文件夹C:/Users/Kristof/dst_folder/
我使用以下标志:
  • -a , --archive存档模式;等于 -rlptgoD (没有 -H-A-X)
  • -r , --recursive递归到目录
  • -l , --links将符号链接(symbolic link)复制为符号链接(symbolic link)
  • -p , --perms保留权限
  • -t , --times保留修改时间
  • -g , --group保存组
  • -o , --owner保留所有者(仅限 super 用户)
  • -D--devices 相同--specials
  • --devices保留设备文件(仅限 super 用户)
  • --specials保存特殊文件
  • -v , --verbose增加详细程度
  • --delete从 dest 目录中删除无关文件
  • 关于docker - rsync 无法识别 Windows 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51536762/

    相关文章:

    docker - 使用非root用户时,Docker Alpine,Celery(worker和beat)失败并出现PermissionError

    linux - Docker 容器的文件系统是什么?在此容器内运行的应用程序在哪个文件系统上运行?

    python - 在生产环境中执行频繁的cron工作的有效方法

    docker - 运行docker Windows镜像时无法启动Sonatype Nexus3服务

    docker - 将主机上运行的进程检测到Docker容器中

    reactjs - 在生产构建中 react 安全环境变量

    Docker-compose用于本地开发,安装依赖

    nokogiri - 使用 rspec 时出错,安装 Homebrew 并卸载 MacPorts 后缺少库

    mysql - 如何使我的开发服务器数据库保持最新?

    google-cloud-storage - 如何跳过 gsutil rsync 中的现有文件