Tag: stream浪汉

使用Docker构build和运行开发环境

我们正在尝试创build一个Docker容器来托pipe和运行我们的webapp(主要是用Symfony2编写的PHP)。 目前,容器embedded所有的应用程序代码,在构build图像时克隆(通过Dockerfile)。 该应用程序通过Vagrant(Precise64基本图像)在OSX上正确运行。 我们正在努力与主机(Vagrant – > OSX)共享容器embedded代码用于开发目的(编辑OSX主机上的文件应该影响容器代码)。 似乎没有办法将此文件夹从容器共享到主机。 从主机共享一个文件夹到容器( run命令的-v选项)将覆盖原始容器文件夹。 由于主机(Vagrant和OSX)无法读取原始位置,所以软链接不起作用。 我敢肯定,解决scheme是与Docker的卷( http://docs.docker.io/en/latest/use/working_with_volumes/ ),但我们还没有想出如何使其工作。 你有反馈/经验吗?

如何从Vagrant VM中访问Docker容器

我有一个提供两个Docker容器的Vagrant设置。 Docker容器启动没有问题。 在Vagrant VM中,我可以运行docker ps并查看两个容器连接到正确的端口。 如果我运行docker logs XXX我看到我的Redis和Mongo守护进程都在运行。 但是,从stream浪者箱子本身,我不能telnet或访问任何运行的服务。 我总是得到一个拒绝的连接。 我如何让Vagrant虚拟机看到在Docker中运行的服务? 我的Vagrantfile看起来像: Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.host_name = "trusty" config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box" config.vm.box = "trusty64" config.vm.network :private_network, ip: "192.168.10.12" config.vm.network :forwarded_port, guest: 6379, host: 6379 config.vm.network :forwarded_port, guest: 27017, host: 27017 config.vm.provision "docker" do |d| d.pull_images 'dockerfile/redis' d.pull_images 'dockerfile/mongodb' d.run 'dockerfile/redis', ports: ['6379:6379'], name: 'redis', expose: […]

stream浪汉和docker工不是很好

更新:我已经卸载Vagrant和Docker,并会接受任何答案,帮助我重新安装他们的方式: 我可以在不依赖Docker的情况下运行Vagrant; 和 我可以在不依赖stream浪者的情况下运行Docker。 和 我可以运行Vagrant并使用Docker作为支持提供程序 如果你看看Vagrant的源代码,你会发现我的错误来自于这一行代码 ,对于VirtualBox提供者来说, 这个 代码来自于这个usable方法引发了一个错误。 如果认为VirtualBox具有无效版本( VirtualBoxInvalidVersion ),或者在本地系统( VirtualBoxNotDetected )上未检测到,则该usable方法会引发错误。 不是Ruby的开发者,现在越来越难以弄清楚Vagrant是如何决定抛出这两个错误之一的。 但是我觉得我越来越接近于搞清楚为什么Docker会占用我的Vagrant / VirtualBoxconfiguration。 原始问题: Mac在这里。 前几天我安装了Vagrant和VirtualBox这样的: brew cask install virtualbox brew cask install vagrant brew cask install vagrant-manager 这让它无所适从,没有任何问题。 我能够vagrant init hashicorp/precise32; vagrant up vagrant init hashicorp/precise32; vagrant up ,一切看起来像是运行完美( hashicorp/precise32默认使用VirtualBox)。 然后,昨天晚上我安装了Docker ,它也需要VirtualBox,然后启动并运行,没有任何问题。 我甚至能够让whalesay容器的例子工作。 到现在为止还挺好。 今天我去了Vagrant玩,看起来我的Docker安装了我的Vagrant / VirtualBoxconfiguration。 现在 […]

在Vagrant + Docker上的Symfony 2应用程序

我正在尝试在Vagrant + Docker上部署Symfony 2应用程序。 Vagrantfile: VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "ubuntu/precise64" # config.vm.synced_folder ".", "/vagrant", owner: 'web', group: 'web' config.vm.network "forwarded_port", host: 5000, guest: 80 # config.vm.network "forwarded_port", host: 5001, guest: 3306 config.vm.provision "docker" do |d| d.build_image "/vagrant/Docker", args: "-t site/web" d.run "site/web", args: "-p 80:80 -v /vagrant/application:/var/www/site" end end Dockerfile: FROM […]

要求apt :: source作为依赖项会产生语法错误

我需要在安装docker之前将docker源代码列表添加到apt。 我有 apt::source { 'debian-jessie': comment => 'This is the docker Debian jessie mirror', location => 'http://apt.dockerproject.org/repo', release => 'debian-jessie', repos => 'main', key_content => '58118E89F3A912897C070ADBF76221572C52609D', key_server => 'keyserver.ubuntu.com', ensure => present, include_src => false, include_deb => true, } 哪个工作,也 package {'docker-engine': ensure => present, before => Class['docker'], } 这只在第二次运行后才起作用(我使用vagrant provision ,但这与问题无关)。 我想通过指示puppet在docker-engine之前执行apt::source来在第一次configuration中完成整个工作,但是在require中添加它并不是一个有效的语法: package {'docker-engine': […]

无法在Docker容器内连接主机接口服务

我是docker工的新手,在stream浪主机里面运行docker工。 我正在运行的主机接口正在运行的Redis服务,我可以在主机接口如localhost:6379上连接它。 但是我无法在Docker容器内连接它。 我正在运行docker容器 docker run -t -i -p 80:80 apache-latest /bin/bash 我能ping通docker0 IP 172.17.42.1和lx *** ip 10.0.3.1上的docker容器内的主机接口。 我得到连接拒绝[tcp://172.17.42.1:6379]错误。 我试图通过提供docker0和lx * ip 与主机接口上的redis连接我得到连接拒绝错误。** 请帮助如何连接docker集装箱内的redis …

如何使用vagrant 1.6和docker提供商来映射docker端口

我正在试图将我的docker容器端口从容器映射到主机(boot2docker)。 最终目标是将这些端口映射到我的物理机器,但一次只能一步。 我的Vagrantfile目前看起来像: Vagrant.configure("2") do |config| config.vm.define "app1" do |a| a.vm.provider "docker" do |d| d.build_dir = "dockers/app1" d.name = "app1" d.ports << "8080:8080" d.ports << "8443:8443" d.volumes << "/vagrant/data/app1:/var/app1" end end config.vm.define "app2" do |a| a.vm.provider "docker" do |d| d.build_dir = "dockers/app2" d.name = "app2" d.ports << "8081:8081" d.link("app1:app1") end end end 当我运行vagrant up app1 […]

Mesosphere地方发展

我目前正在调查在生产中使用Mesosphere来运行一些微服务作为Docker容器。 我完成了DCOS部署,并能够成功运行其中一项服务。 在继续这个方法之前,我还需要把握发展方面(不是Mesos或Mesosphere本身,而是微型服务的发展)。 是否有任何最佳实践如何在Vagrantbox中运行Mesosphere的本地部署或类似的东西,使我们的开发人员能够从现有的泊坞窗镜像运行我们的生态系统中的所有服务,并运行您当前正在使用的服务从本地代码文件夹? 我已经知道如何将开发代码文件夹链接到一个Vagrant机器上,也应该让Docker部分运行,但是我仍然对整个Mesosphere集成部分感到失望。 有没有人可以将我推荐到互联网上的一些资源来描述一个可能的解决scheme? 你们有没有人做过类似的事情,并且愿意分享一些关于这方面的见解?

Docker vs Vagrant

根据我的理解,每个Docker映像都基于基本映像 – 例如Ubuntu。 如果我想隔离任何过程,我应该部署ubuntu的docker基础映像( 这里与Vagrant有什么不同? ),并在ubuntu映像上安装后创build一个必要的子映像? 那么,如果Ubuntu在Vagrant和Docker上启动,那么实践区别在哪里呢? 如果在Vagrant中使用docker提供程序 – 这里是Vagrant和Docker的区别吗? 而且,在Docker中,有可能在没有基本映像的情况下将一些PC上的进程隔离起来,而不将它们共享到另一台PC上?

可以使用Vagrant或Docker进行Web应用程序的QAtesting

我知道我们使用docker和vagrant或任何其他容器化技术来快速为开发者设置开发环境。 但是我们可以将其应用于testing吗? 我的意思是每个testing机器的设置环境,以便他们可以在自己的机器上testing它。它可能包括自动化或没有自动化testing。 这是我们的经理想要的。我个人不同意应该在生产副本上testing“发布版本”,我的意思是托pipe服务器在Amazon EC2中具有的暂存环境,我们有两台临时服务器。 我们通常这样做,但是现在我们的经理希望testing人员通过使用Vagrant创build一个环境来在本地机器上testing他们。 你的意见请。