【问题标题】:Vagrant with Docker provider: specifying CPU and MemoryVagrant 与 Docker 提供程序:指定 CPU 和内存
【发布时间】:2020-10-05 16:56:16
【问题描述】:

我正在使用 Vagrant 创建多个 Docker 容器。除了我无法控制容器的 CPU 和内存分配外,一切似乎都运行良好。您可以在下面看到几次失败的尝试。

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.ssh.insert_key = false

  config.vm.provider "docker" do |d|
    d.build_dir = "."
    d.force_host_vm = false
    d.has_ssh = true
#    d.cpus = "2"           # works for vbox not docker
#    d.memory = "4096"      # same      
    d.create_args = [ "--privileged", "-v", "/sys/fs/cgroup:/sys/fs/cgroup:ro" ]
    d.customize ["modifyvm", :id, "--cpus", "2"]            # Also throws error
    d.customize ["modifyvm", :id, "--memory", "4096"]       # same
    d.remains_running = true
  end


  config.vm.define :c7301 do |c7301|
    c7301.vm.hostname = "c7301.ambari.apache.org"
    c7301.vm.network :private_network, ip: "192.168.73.101"
    c7301.vm.network "forwarded_port", guest:7180, host: 7180
  end

有什么建议吗?

【问题讨论】:

  • 您在create_args 中尝试过吗?您需要将这些--cpus--memory 参数作为其中的一部分传递,而不是使用d.customize
  • 我确实尝试过,但我认为出于某种原因我只是添加了第二个 create_args。早上我会尝试现有 create_args 中的选项。

标签: docker vagrantfile


【解决方案1】:

这对我有用:

  config.vm.provider :docker do |d|
    d.build_dir = "."
    d.remains_running = true
    d.has_ssh = true
    # configure docker container 
    d.create_args = ['--cpuset-cpus=2']
    d.create_args = ['--memory=6g']
  end

here 得到它的提示和 可用的码头工人options

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 2023-03-22
    相关资源
    最近更新 更多