Vagrant '기본'컴퓨터 이름을 변경하는 방법?
vagrant box를 시작할 때 'default'라는 이름은 어디에서 유래합니까?
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
이것을 설정하는 방법이 있습니까?
여러 옵션이 혼란스러워서 모든 작업을 테스트하여 정확히 무엇을하는지 결정했습니다.
VirtualBox 4.2.16-r86992 및 Vagrant 1.3.3을 사용하고 있습니다.
라는 디렉토리를 nametest
만들고 실행했습니다.
vagrant init precise64 http://files.vagrantup.com/precise64.box
기본 Vagrantfile을 생성합니다. 그런 다음 VirtualBox GUI를 열어서 만든 상자가 어떤 이름으로 표시되는지 확인할 수있었습니다.
기본 Vagrantfile
Vagrant.configure('2') do |config| config.vm.box = "precise64" config.vm.box_url = "http://files.vagrantup.com/precise64.box" end
VirtualBox GUI 이름 : "nametest_default_1386347922"
주석 : 이름의 기본값은 DIRECTORY_default_TIMESTAMP입니다.
VM 정의
Vagrant.configure('2') do |config| config.vm.box = "precise64" config.vm.box_url = "http://files.vagrantup.com/precise64.box" config.vm.define "foohost" end
VirtualBox GUI 이름 : "nametest_foohost_1386347922"
주석 : VM을 명시 적으로 정의하면 사용 된 이름이 'default'토큰을 대체합니다. 이 이름 방랑 콘솔에 출력.
zook
의 (댓글 작성기) 입력을 기반으로 단순화공급자 이름 설정
Vagrant.configure('2') do |config| config.vm.box = "precise64" config.vm.box_url = "http://files.vagrantup.com/precise64.box" config.vm.provider :virtualbox do |vb| vb.name = "foohost" end end
VirtualBox GUI 이름 : "foohost"
주석 :
name
제공자 구성 블록에서 속성 을 설정하면 해당 이름이 VirtualBox GUI에 표시되는 전체 이름이됩니다.결합 된 예 : VM 정의 및 제공자 이름 설정
Vagrant.configure('2') do |config| config.vm.box = "precise64" config.vm.box_url = "http://files.vagrantup.com/precise64.box" config.vm.define "foohost" config.vm.provider :virtualbox do |vb| vb.name = "barhost" end end
VirtualBox GUI 이름 : "barhost"
주석 : 두 방법을 동시에 사용
name
하면 공급자 구성 블록에 지정된 값이 우선합니다 .zook
의 (댓글 작성기) 입력을 기반으로 단순화세트
hostname
(BONUS)Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.hostname = "buzbar" end
주석 : VM 내부의 호스트 이름을 설정합니다. 이것은
hostname
VM 의 명령 출력이며 프롬프트와 같이 표시됩니다.vagrant@<hostname>
여기 에서처럼 보입니다.vagrant@buzbar
최종 코드
Vagrant.configure('2') do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.hostname = "buzbar"
config.vm.define "foohost"
config.vm.provider :virtualbox do |vb|
vb.name = "barhost"
end
end
그래서 거기에 있습니다. 이제 설정할 수있는 3 가지 옵션과 그 효과를 알게되었습니다. 이 시점에서 그것이 선호의 문제라고 생각합니까? (Vagrant를 처음 사용하므로 아직 모범 사례에 대해 이야기 할 수 없습니다.)
이것이 내가 개별 VM에 이름을 할당 한 방법입니다. YOURNAMEHERE
원하는 이름으로 변경하십시오 .
Vagrantfile의 내용 :
Vagrant.configure("2") do |config|
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "precise32"
# The url from where the 'config.vm.box' box will be fetched if it
# doesn't already exist on the user's system.
config.vm.box_url = "http://files.vagrantup.com/precise32.box"
config.vm.define :YOURNAMEHERE do |t|
end
end
터미널 출력 :
$ vagrant status
Current machine states:
YOURNAMEHERE not created (virtualbox)
'default'대신 다른 것을 변경하려면 Vagrantfile에 다음 줄을 추가하십시오.
"vagrant status"를 사용할 때베이스 박스 이름 변경
config.vm.define "tendo" do |tendo|
end
여기서 "tendo"는 기본 이름 대신 표시 될 이름입니다.
예, Virtualbox 공급자의 경우 다음과 같이하십시오.
Vagrant.configure("2") do |config|
# ...other options...
config.vm.provider "virtualbox" do |p|
p.name = "something-else"
end
end
VagrantFile 내부 에 정의 하여 이름을 지정하고 호스트 이름 도 지정 하므로 장치의 OS와 독립적으로 Linux 명령을 실행하는 동안 프로젝트 이름을 볼 수 있습니다. ✌️
config.vm.define "abc"
config.vm.hostname = "abc"
의 값을 변경하여 방랑 기본 시스템 이름을 변경할 수 있습니다 config.vm.define
.
다음은 getopts 를 사용 하고 이름을 동적으로 변경할 수 있는 간단한 Vagrantfile입니다 .
# -*- mode: ruby -*-
require 'getoptlong'
opts = GetoptLong.new(
[ '--vm-name', GetoptLong::OPTIONAL_ARGUMENT ],
)
vm_name = ENV['VM_NAME'] || 'default'
begin
opts.each do |opt, arg|
case opt
when '--vm-name'
vm_name = arg
end
end
rescue
end
Vagrant.configure(2) do |config|
config.vm.define vm_name
config.vm.provider "virtualbox" do |vbox, override|
override.vm.box = "ubuntu/wily64"
# ...
end
# ...
end
따라서 다른 이름을 사용하려면 다음과 같이 실행할 수 있습니다.
vagrant --vm-name=my_name up --no-provision
참고 : 명령 --vm-name
전에 매개 변수를 지정해야 up
합니다.
또는:
VM_NAME=my_name vagrant up --no-provision
vagrant 파일을 사용하는 사람들이 많은 경우 이름을 동적으로 설정 하려고 할 수 있습니다 . 아래는 호스트 컴퓨터의 사용자 이름을 상자 이름과 호스트 이름으로 사용하는 방법의 예 입니다 .
require 'etc'
vagrant_name = "yourProjectName-" + Etc.getlogin
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.hostname = vagrant_name
config.vm.provider "virtualbox" do |v|
v.name = vagrant_name
end
end
참고 URL : https://stackoverflow.com/questions/17845637/how-to-change-vagrant-default-machine-name
'IT story' 카테고리의 다른 글
소프트웨어 라이센스 키를 생성하고 확인하는 방법은 무엇입니까? (0) | 2020.04.24 |
---|---|
SHA512 대 복어 및 Bcrypt [폐쇄] (0) | 2020.04.24 |
동네 짱 항아리는 무엇입니까? (0) | 2020.04.24 |
jQuery로 새로운 요소를 생성하는 기본 방법 (0) | 2020.04.24 |
파일 또는 어셈블리 또는 해당 종속성 중 하나를로드 할 수 없습니다 (0) | 2020.04.24 |