Docker &引用;rsync“;未检测到已安装在来宾计算机中
我试图设置流浪者与docker作为一个供应商,但当运行Docker &引用;rsync“;未检测到已安装在来宾计算机中,docker,vagrant,boot2docker,vagrantfile,Docker,Vagrant,Boot2docker,Vagrantfile,我试图设置流浪者与docker作为一个供应商,但当运行 vagrant up --provider=docker --debug 我得到这个错误: 未检测到来宾计算机中安装了“rsync”。这 是rsync同步文件夹工作所必需的。除此之外,, Vagrant不知道如何为您的应用程序自动安装rsync 机器,所以您必须手动执行此操作 完整日志在此: 流浪汉档案 require 'yaml' Vagrant.configure("2") do |config| user_config
vagrant up --provider=docker --debug
我得到这个错误:
未检测到来宾计算机中安装了“rsync”。这
是rsync同步文件夹工作所必需的。除此之外,,
Vagrant不知道如何为您的应用程序自动安装rsync
机器,所以您必须手动执行此操作
完整日志在此:
流浪汉档案
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
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
Dockerfile
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
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
来自debian:jessie MAINTAINER IT
运行echo“退出0”>/usr/sbin/policy rc.d
运行echo“debconf debconf/frontend select Noninteractive”| debconf set selections
运行apt获取更新运行apt获取升级-y运行apt获取安装sudo apt utils-y
运行apt get-y install sysvinit core sysvinit sysvinit utils运行cp/usr/share/sysvinit/inittab/etc/inittab运行apt get remove-y--purge
--自动删除systemd libpam systemd systemd sysv
运行apt-get安装ssh-y
运行addgroup--system it运行adduser--system--disabled password
--uid 1000--shell/bin/bash--home/home/it运行adduser it运行adduser it sudo
运行echo“it ALL=(ALL)NOPASSWD:ALL”>>/etc/sudoers
添加初始的\u ssh\u key.pub/home/it/.ssh/authorized\u key RUN chown it:it/home/it/-R RUN echo“Host*\n\tStrictHostKeyChecking no”>>/etc/ssh/ssh\u config
CMD exec/sbin/init
注意:
我在Mac OS X 10.12上安装了vagrant、virtualbox和docker,我在主机上安装了rsync并将其添加到我的路径中。
同样,同样的vagrant和docker配置也可以在ubuntu主机上完美运行
如何在来宾计算机中安装rsync?还是我的配置有其他问题?有什么想法吗?尝试将
rsync
添加到Docker文件中,在apt get
行的某个地方。Linux主机默认使用NFS,这就是它在Ubuntu上工作的原因
通常,Vagrant会尝试在来宾计算机上安装
rsync
,如果失败,它会通知您错误消息。更多信息(在“先决条件”一章的第3段)您可能想尝试一下备用引导存储框:
因为它包含rsync,而默认使用的hashicorp/boot2docker似乎缺少rsync
如果这样做,您必须将以下行添加到docker provider配置中(当然是系统采用的):
d.vagrant\u vagrantfile=“../path/to/vagrantfile”
这是因为您正在更改docker提供程序主机vm,如中所述。我已经尝试过,但似乎不起作用:在dockerfile中添加了
运行apt get install rsync-y
,出现相同的错误消息。vagrant/vbox有问题:/It's notvbox
-您正在使用docker
作为提供程序:config.vm.provider“docker”
知道它为什么会失败吗?我在rsync错误消息之前的日志中看到了这一点:[default]主机(5.0.16)和来宾(4.3.28 r100309)上的来宾条件版本不匹配。来宾平台(“linux”)当前不受支持,将尝试通用linux方法。。。将iso文件/Applications/VirtualBox.app/Contents/MacOS/vboxguestaditions.iso复制到/tmp/vboxguestaditions.iso安装VirtualBox Guest Additions 5.0.16-Guest版本为4.3.28 r100309 mkdir:无法创建目录“/tmp/selfgz10164313”:没有此类文件或目录我看不到您在docker上公开任何端口,尝试公开873
或rsync
与d一起使用的任何内容。公开=[873]
仍会显示相同的错误消息