栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Vagrant Docker提供程序从boot2docker转发端口

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Vagrant Docker提供程序从boot2docker转发端口

好的,所以我终于弄清楚了,事实证明,解决方案是完全不使用boot2docker。根据我在Vagrant来源中进行的深入研究,阅读问题以及重新观看Docker提供程序的介绍视频,事实证明,您需要使用代理VM来托管容器,而不是boot2docker。

为了进行此设置,我修改了Vagrantfile使其包含以下配置选项

vagrant_vagrantfile

VAGRANTFILE_API_VERSION = "2"Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|  config.vm.define "icecast" do |v|    v.vm.provider "docker" do |d|      d.image = "moul/icecast"      d.ports = ["8000:8000"]      d.env = {        # SOURCE_PASSWORD: 'password',        ADMIN_PASSWORD: 'password',        # PASSWORD: 'password',        # RELAY_PASSWORD: 'password'      }      d.vagrant_vagrantfile = "./Vagrantfile.proxy"    end  endend

然后,我添加了一个附加文件(Vagrantfile.proxy),Vagrant将使用该文件来启动代理VM:

VAGRANTFILE_API_VERSION = "2"Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|  config.vm.box = "ubuntu/trusty64"  config.vm.provision "docker"  config.vm.provision "shell", inline:    "ps aux | grep 'sshd:' | awk '{print $2}' | xargs kill"  config.vm.network :forwarded_port, guest: 8000, host: 8000end

使用Docker
Provisioner将自动为您在代理VM上安装Docker。内联外壳脚本会强制Vagrant重新登录到该框,以便它在安装Docker后可以使用Docker。最后,我转发了该Vagrantfile中所需的端口,而不是原始端口(同时仍在原始端口中使用

ports
config选项)。

就像默认的boot2docker策略一样,Vagrant将足够聪明,可以将代理VM的现有实例重用于任何使用它的映像。

希望这对以后的人会有所帮助。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/447480.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号