Wis*_*sem 10 vagrant docker vagrantfile boot2docker
我正在尝试使用docker作为提供者设置Vagrant但是在运行时
vagrant up --provider=docker --debug
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
未检测到"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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
注意: 我在Mac OS X 10.12上安装了vagrant,virtualbox和docker我安装了rsync并将其添加到主机中的PATH中.此外,相同的vagrant和docker配置在ubuntu主机上完美运行.
如何在来宾计算机中安装rsync?或者我的配置有什么问题?有任何想法吗?
您可能想尝试一下替代的 boot2docker 框:https://github.com/dduportal/boot2docker-vagrant-box ,因为它包含 rsync,而默认使用的 hashcorp/boot2docker 似乎缺少这个!
如果这样做,您必须将以下行添加到您的 docker 提供程序配置中(当然采用到您的系统中):
d.vagrant_vagrantfile = "../path/to/Vagrantfile"
这是因为您正在更改 docker 提供程序主机虚拟机,如vagrant docker 提供程序文档中所述。
| 归档时间: |
|
| 查看次数: |
748 次 |
| 最近记录: |