"garbage at end of line" on Windows 10

时间:2024-06-12 20:07:20

 

在windows 10上运行docker-machine scp myvm1 docker-compose.yml myvm1:~的时候报错:

"garbage at end of line <user name的后半部分>\.docker\machine\machines\myvm1\id_rsa"

 

【解决方法】

这是boot2docker的一个bug, 帖子在这里:

https://github.com/laravel/homestead/issues/656

引起的原因是因为HyperV默认把VM的文件放在了c:\users\<user name>\.docker\machine\machines\myvm1\的下面,如果user name中间有空格,就会引起上面的错误。

Boot2docker说是后面版本会修复。

当下的解决方案是配置一下,让HyperV将VM的文件放在不带空格的目录下, 具体方法是设置一个系统级别的环境变量MACHINE_STORAGE_PATH, 比如可以设置成c:\docker, 然后用docker-machine create重新创建vm, VM的文件就会放在新的目录下, 再运行scp命令就会成功了。