연구 목적으로 여러 VM 환경을 배포하기 위해 방랑을 사용하고 있습니다. 하지만 이제는 각 도커 컨테이너를 특정 CPU 코어에 고정해야하지만 방랑을 사용하는 방법을 알지 못합니다. Vagrantfile에 "args"절을 사용하여 docker 실행 명령에 "--cpuset"매개 변수를 전달할 수 있지만 여러 컨테이너를 시작하고 루프에서 사용하는 방법을 모릅니다. 각 컨테이너를 다른 CPU 코어 (예 : node1 핀을 core # 0, node2 핀을 core # 1 등)에 고정해야합니다.Vagrant : 유모차를 사용하여 도커 실행 인수를 여러 컨테이너로 전달
나의 현재 Vagrantfile는 CPU없이, 속박의 일을 다음과 같습니다
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
# choose how many machines the cluster will contain
N_VMS = 32
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "tknerr/baseimage-ubuntu-14.04"
config.vm.network "private_network", ip: "192.168.121.2"
config.vm.provider "docker" do |v|
v.has_ssh = true
end
hosts_file = []
1.upto(N_VMS) do |i|
config.vm.define vm_name = "node#{i}" do |config|
config.vm.hostname = vm_name
end
end
script = <<-SCRIPT
apt-get -y update
apt-get -y install libcr-dev mpich2 mpich2-doc arp-scan openssh-server nano make
SCRIPT
script.sub! 'N_VMS', N_VMS.to_s
config.vm.provision "shell", inline: script
end
나는 내가 통과해야 인수가 "고정 표시기 실행"명령이기 때문에이 방법은 고정 표시기 공급자에 대해 작동하지 않습니다 생각 :
코드는 다음과 같은 것을했다. Vagrant docs에 따르면 이러한 인수는 config.vm.provision 명령을 사용하여 전달되지만 사용 방법을 잘 모르겠습니다. –
@LuisCarlosJersak 어쩌면 내가 요리사 레시피를 제공하는 데 사용했던 [this] (https://github.com/cloudhuang/vagrant-ci-env/blob/master/Vagrantfile)을 참조 할 수 있습니다. –