使用Docker提供程序启动Vagrant(up)会创建一个rsync问题,因为rsync尝试与Docker用户同步并要求输入密码,而我当然没有这个密码。如果我将docker提供程序替换为vm.box,则一切正常。我收到的消息是:
WDFM32388067A:vagranttest d022051$ vagrant up
Bringing machine 'default' up with 'docker' provider...
==> default: Docker host is required. One will be created if necessary...
default: Docker host VM is already ready.
==> default: Syncing folders to the host VM...
default: The machine you're rsyncing folders to is configured to use
default: password-based authentication. Vagrant can't script rsync to automatically
default: enter this password, so you'll likely be prompted for a password
default: shortly.
default:
default: If you don't want to have to do this, please enable automatic
default: key insertion using `config.ssh.insert_key`.
default: Rsyncing folder: /Users/d022051/tmp/vagranttest/ => /var/lib/docker/docker_1437748320_29948
docker@127.0.0.1's password:
There was an error when attempting to rsync a synced folder.
Please inspect the error message below for more info.
Host path: /Users/d022051/tmp/vagranttest/
Guest path: /var/lib/docker/docker_1437748320_29948
Command: rsync --verbose --archive --delete -z --copy-links --no-owner --no-group --rsync-path sudo rsync -e ssh -p 2222 -o StrictHostKeyChecking=no -o IdentitiesOnly=true -o UserKnownHostsFile=/dev/null --exclude .vagrant/ /Users/d022051/tmp/vagranttest/ docker@127.0.0.1:/var/lib/docker/docker_1437748320_29948
Error: Warning: Permanently added '[127.0.0.1]:2222' (RSA) to the list of known hosts.
Connection closed by 127.0.0.1
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]
以下是 Vagrant 配置文件中相关部分:
config.vm.provider "docker" do |d|
d.image = "bowline/orientdb:dev"
end
config.vm.synced_folder ".", "/vagrant", type: "rsync"
docker用户有默认密码吗?我是否需要在docker映像中创建docker用户?
更新: 在我的Mac重新启动后,问题发生了变化。现在的问题是vagrant尝试在虚拟机上安装rsync并失败了。因此,请将此问题视为关闭状态,因为我目前无法再现原始问题。