Tag: vagrant

Vagrantdockershellinit?

你知道如何使用boot2docker,你可以在shell中调用$(boot2docker shellinit)来加载适当的环境? 然后你可以在你的terminal中使用普通的docker命令。 有没有办法做到这一点与Vagrantdocker服务提供商,所以你可以轻松地与Vagrant的docker服务器通信? 或者,将$(boot2docker shellinit)传递给Vagrant,以便使用当前正在运行的Docker服务器,而不是自行启动? 谢谢。

如果docker使用虚拟机在mac上运行,那么它对stream浪者有什么优势?

所以我已经在很多地方读到了,docker更快,更高效,因为它使用虚拟机上的容器,但是当我在我的mac上下载docker时,我意识到它使用虚拟盒来运行容器。 我相信在Linux机器上docker不需要虚拟机,可以在Linux Kernel上运行。 它是否正确 ? 回到原来的问题。 Docker仍然更快/更高效,因为它使用单个虚拟机来运行多个容器,而不是每个环境的Vargrant新虚拟机。

在MacOS上使用docker作为提供者的stream浪者,无法在容器中挂载目录

我使用的是stream浪汉,而不是让我们说docker撰写,因为vagrantfile是一个ruby文件,它给了更多的灵活性 我的Vagrantfile看起来像这样 Vagrant.configure(2) do |config| config.vm.define "db" do |app| app.vm.provider "docker" do |d| d.image = "postgres:9.5" d.name = "myproject_db" d.env = { 'POSTGRES_USER' => "admin", 'POSTGRES_PASSWORD' => "password", } end end config.vm.define "fpm" do |app| app.vm.provider "docker" do |d| d.build_dir = "dockerfiles/php-fpm/" d.name="myproject_fpm" d.link "myproject_db:db" d.volumes = [ "#{ENV['PWD']}/myproject:/var/www/symfony2", ] end end end 它在Linux硬件主机上工作的很好,但是在Mac上却失败了,因为vagrant up […]

在代理服务器后面使用docker

我想从一个docker容器中运行apt(在virtualbox上运行),但是这个失败了,因为我在代理之后。 我使用vagrant-proxyconf允许stream浪机器本身连接到互联网,这工作正常: if Vagrant.has_plugin?("vagrant-proxyconf") config.proxy.http = … config.proxy.https = … config.proxy.no_proxy = "localhost,127.0.0.1,.example.com" end 但是,这些设置不会通过stream浪者机器中启动的docker容器。 当我启动一个基于debian的docker容器时 docker run -it debian /bin/bash 并在bash中运行 apt-get update 那么apt就不能build立连接。 我可以通过将以下内容添加到我的Dockerfile来解决此问题 ENV http_proxy <myproxy> 但是调整所有的Dockerfile会很麻烦,而且我不想将我的代理硬编码到Dockerfile本身,因为这些代码也在不同的设置中使用。 我也试过告诉docker使用什么代理: https : //docs.docker.com/engine/admin/systemd/ 但是,这看起来没有任何影响在Docker容器内使用的代理。 有没有办法将http_proxy环境variables默认传递给我的机器内启动的所有docker容器? 另外,是否可以将vagrant / virtualboxconfiguration为“仿真”“无代理”互联网连接,以便我不必通过所有虚拟化层访问代理设置?

如何在主机提供期间在容器内执行命令?

我使用vagrant来build立docker主机,然后我有shell脚本,基本上安装主机所需的所有包,该脚本还build立和运行容器 stream浪的文件 config.vm.provision :shell, :inline => "sudo /vagrant/bootstrap.sh" 里面,我运行像容器 docker run -d . .bla bla .. . 这工作正常,但我必须ssh进入容器,并运行make deploy来安装所有的东西。 有没有什么办法可以运行,从我的bootsrap.sh make deploy 。 其中一个方法就是把它作为切入点, 我只是想当我提供主机,然后该命令应该在一些容器内运行,并显示我输出像主机的迷幻节目

stream浪汉 – 无平行标志的含义

有谁知道究竟有什么vagrant up –no-parallel旗呢? 我发现在文档中我应该使用它,只要我链接两个不同的容器在同一个stream浪文件。 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.define "a" do |app| app.vm.provider "docker" do |d| d.name = "a" d.image = "a" end end config.vm.define "b" do |app| app.vm.provider "docker" do |d| d.name = "b" d.image = "b" d.link("a:a") end end end 如果我的Vagrantfile看起来像这样,我应该运行什么? vagrant up a –no-parallel && vagrant up b 要么 vagrant up a && […]

vagrant:boot2docker:无法在本地查找图像“drupal”

我尝试在Vagrant box boot2docker(在Windows 8.1)上运行Drupal作为Docker容器。 Vagrantfile (Drupal容器) # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| config.vm.provider "docker" do |docker| docker.vagrant_vagrantfile = "host/Vagrantfile" docker.image = "drupal" docker.ports = ['80:80'] docker.name = 'drupal-container' end config.vm.synced_folder ".", "/vagrant", type: "smb", disabled: true end 主机/ Vagrantfile (boot2docker) # -*- mode: ruby -*- # vi: set […]

为什么我无法从Vagrant VM中parsingdocker.io和其他主机

我运行与2docker容器里面的stream浪汉,它不工作的公司代理工作正常,但当我在公司代理,并尝试运行vagrant了,我不断得到: https://index.docker.io/v1/repositories/dockerfile/ubuntu/images: dial tcp: lookup index.docker.io: no such host 我有在stream浪者使用的代理集 VAGRANT_HTTP_PROXY="http://proxy.example.com:8080/" vagrant up 我也无法使用公司代理上的stream浪汉来解决使用nslookup主机 我已经尝试在vagrantfile中包含以下内容: config.vm.provider :virtualbox do |vb| vb.customize ["modifyvm", :id, "–natdnsproxy1", "on"] vb.customize ["modifyvm", :id, "–natdnshostresolver1", "on"] end 我也尝试使用桥接连接,重新启动docker服务器的build议这里,并交换我的DNS我的Mac(我看到build议的地方,但找不到链接) 我真的很感谢一些帮助/方向,并在案件其relavent我正在运行macbook运行OSX 10.9的虚拟箱与vargrant 1.6.5,这是我的stream浪文件: $start = <<SCRIPT #service docker stop #HTTP_PROXY=http://proxy:8080/ docker -d & service docker restart #stop and remove any existing containers docker stop […]

Vagrant和Docker提供者:一种强制代理VM的Linux主机的方法?

TL&DR: 有没有办法强制Vagrant使用代理虚拟机,即使主机操作系统本身支持Docker? 我使用Docker提供程序的Vagrant。 Vagrant VM是OS和Docker容器托pipe我的应用程序(Web服务器,DB)。 问题: Linux容器不能在非Linux机器上本地运行。 如果您的开发人员在Mac或Windows上,他们不能原生运行Docker容器。 Vagrant检测到这些情况并自动启动Linux虚拟机来运行Docker容器。 […] 如果Vagrant与Linux上的Docker一起使用, Vagrant将不会自动启动虚拟机 ,而是本机运行Docker 资料来源: http : //www.vagrantup.com/blog/feature-preview-vagrant-1-6-docker-dev-environments.html Vagrant自动为不支持本地Docker的操作系统启动代理虚拟机,这是非常好的,因为它们拥有相同的操作系统。 但是,对于Linux主机,我们坚持使用原生的Docker安装,这导致了一些问题: 文件/文件夹权限 不同的用户为不同的Linux操作系统(Apache用户有时“apache”,有时“www”,这取决于你的Linux发行版) 这里是我的stream浪文件的参考: DockerHost.Vagrantfile Vagrant.configure("2") do |config| config.vm.provision "docker" config.vm.box = "ubuntu/trusty64" config.vm.define "dockerhost" config.vm.network :forwarded_port, guest: 80, host: 8080 config.vm.synced_folder "/sites", "/sites" […] config.vm.provider :virtualbox do |vb| vb.name = "Vagrant-Dockerhost" vb.memory = 1024 # => […]

Docker作为Vagrant的提供者

我正在使用Saltstack / Shellconfiguration一个stream浪机器,但现在我想添加Docker作为提供者。 我有一个超时问题,所以我修改了超时值。 现在看来,这台机器永远不会工作:我一直在等待,没有任何反应! 这是我的stream浪文件: Vagrant.configure(2) do |config| config.vm.define :nodejs do |nodejs| #nodejs.vm.box = "ubuntu/trusty64" nodejs.vm.hostname = "nodejs" nodejs.ssh.pty = true nodejs.vm.boot_timeout = 50000 nodejs.vm.network "forwarded_port", guest: 80, host: 8001 nodejs.vm.network "forwarded_port", guest: 3600, host: 8002 nodejs.vm.network "private_network", ip: "10.0.0.10" nodejs.vm.synced_folder "salt/roots/", "/srv/salt/" nodejs.vm.synced_folder "salt/minion.d/", "/etc/salt/minion.d/" nodejs.vm.synced_folder "salt/formulas/", "/srv/formulas/" nodejs.vm.provider :virtualbox do |vb| vb.gui […]