没有检测到“客户机”中安装了“rsync”

我试图设置docker作为提供商的stream浪者,但运行时

vagrant up --provider=docker --debug 

我得到这个错误:

没有检测到“客户机”中安装了“rsync”。 这是rsync同步文件夹工作所必需的。 除此之外,Vagrant不知道如何为您的机器自动安装rsync,因此您必须手动执行此操作。

完整日志在这里: http : //pastebin.com/zCTSqibM

Vagrantfile

 require 'yaml' Vagrant.configure("2") do |config| user_config = YAML.load_file 'user_config.yml' config.vm.provider "docker" do |d| d.build_dir = "." d.has_ssh = true d.ports = user_config['port_mapping'] d.create_args = ["--dns=127.0.0.1","--dns=8.8.8.8", "--dns=8.8.4.4"] d.build_args = ['--no-cache=true'] end config.vm.hostname = "dev" config.ssh.username = "it" config.ssh.port = 22 config.ssh.private_key_path = ["./initial_ssh_key", user_config['ssh_private_key_path']] config.ssh.forward_agent = true end 

Dockerfile

 FROM debian:jessie MAINTAINER IT <it@email.com> RUN echo 'exit 0' > /usr/sbin/policy-rc.d RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections RUN apt-get update RUN apt-get upgrade -y RUN apt-get install sudo apt-utils -y RUN apt-get -y install sysvinit-core sysvinit sysvinit-utils RUN cp /usr/share/sysvinit/inittab /etc/inittab RUN apt-get remove -y --purge --auto-remove systemd libpam-systemd systemd-sysv RUN apt-get install ssh -y RUN addgroup --system it RUN adduser --system --disabled-password --uid 1000 --shell /bin/bash --home /home/it it RUN adduser it it RUN adduser it sudo RUN echo "it ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers ADD initial_ssh_key.pub /home/it/.ssh/authorized_keys RUN chown it:it /home/it/ -R RUN echo "Host * \n\tStrictHostKeyChecking no" >> /etc/ssh/ssh_config CMD exec /sbin/init 

注意:我在Mac OS X 10.12上安装了vagrant,virtualbox和docker我安装了rsync并将其添加到主机中的PATH中。 另外,同样的stream浪汉和dockerconfiguration在Ubuntu主机上完美工作。

如何在客机上安装rsync? 或者是我的configuration有其他错误? 有任何想法吗?

您可能想要给boot2docker替代scheme : https : //github.com/dduportal/boot2docker-vagrant-box,因为它包含rsync,而缺省使用的hashicorp / boot2docker似乎缺less这个!

如果这样做,您必须将follwong行添加到您的Docker提供程序configuration(当然通过您的系统):

d.vagrant_vagrantfile = "../path/to/Vagrantfile"

这是因为你正在改变docker服务提供商主机虚拟机,如stream浪码docker提供商文档中所述 。

尝试添加rsync到你的Docker文件,在你的apt-get行的某个地方。 Linux主机默认使用NFS,这就是为什么它可以在你的Ubuntu上运行。

通常情况下,Vagrant会尝试在来宾机器上安装rsync ,如果失败 – 它将通知您该错误消息。 更多关于stream浪网站的信息(“先决条件”一章中的第3段)