加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 03:32:42 所属栏目:安全 来源:网络整理
导读:我目前正在尝试将Docker容器端口从容器映射到主机(boot2docker).最终的目标是将这些端口映射到我的物理机器,但是一次一个. 我的Vagrantfile目前看起来像: Vagrant.configure("2") do |config| config.vm.define "app1" do |a| a.vm.provider "docker" do |d

我目前正在尝试将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

当我运行流氓app1 –provider = docker容器旋转正确,但是当我做一个docker ps我可以看到端口没有被映射.

0.0.0.0:2222->22/tcp,8080/tcp,8443/tcp

我正在使用VirtualBox,所以我已经使用它GUI将我的物理机8080转发到主机(boot2docker)8080.

最佳答案
您的配置应该在Linux上运行,但如果您使用的是Virtualbox(我假设您在Mac或Windows上),那么您需要为您的虚拟机提供一个Vagrantfile才能将其发送到您的主机.

Vagrant.configure("2") do |config|

  config.vm.box = "busybox"
  config.vm.provider "virtualbox" do |v|
    v.memory = 768
    v.cpus = 2
  end

  config.vm.network :forwarded_port,guest: 8080,host: 8080

end

假设这是相对于您当前的Vagrantfile的host-vm / Vagrantfile.所以你目前的Vagrantfile应该是:

Vagrant.configure("2") do |config|

    config.vm.define "app1" do |a|
        a.vm.provider "docker" do |d|
            d.vagrant_vagrantfile = "host-vm/Vagrantfile"
            d.build_dir = "dockers/app1"
            d.name = "app1"
            d.ports = ["8080:8080"]
            d.ports = ["8443:8443"]
            d.create_args = ["-v","/vagrant/data/app1:/var/app1"]
        end
    end

    config.vm.define "app2" do |a|
        a.vm.provider "docker" do |d|
            d.vagrant_vagrantfile = "host-vm/Vagrantfile"
            d.build_dir = "dockers/app2"
            d.name = "app2"
            d.ports = ["8081:8081"]
            d.link("app1:app1")
        end
    end
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读