맨 처음 vagrant init 를 수행할때, 구동되기 까지 시간이 오래 걸렸고,
뭔가 다운로드 되고 있다는걸 느낄 수 있었다.
맨 처음에 init 할때는 https://vagrantcloud.com/boxes/search 에서 이미지를 다운로드 하기 때문이다.
다운로드 되어진 이미지는 아래 경로에 저장되어 있다.
~/.vagrant.d/boxes/centos-VAGRANTSLASH-7/1804.02/virtualbox
(이름이 같지 않을 수 있다)
vagrant up 으로 virtualbox 가 구동될때 이미지가 없으면 다운로드를 하고,
이미지가 있으면 그 이미지를 기반으로 아래 경로에 새로운 이미지로 구동된다.
~/VirtualBox VMs/cent_default_1529396971762_7086
(이름이 같지 않을 수 있다)
vagrantcloud 에는 다양한 이미지들이 존재하고,
그 이미지를 미리 다운로드 해서 보유하고 있을 수 있다.
% vagrant box add [이름]
예를 들어 Ubuntu 12.04 이미지를 다운로드 하고 싶다면,
아래처럼 하면 된다.
아래처럼 하면 된다.
% vagrant box add hashicorp/precise64
이미지는 아래 경로에 저장이 된다.
~/.vagrant.d/boxes/hashicorp-VAGRANTSLASH-precise64/1.1.0/virtualbox
~/.vagrant.d/boxes/hashicorp-VAGRANTSLASH-precise64/1.1.0/virtualbox
이미지를 기반으로 가상머신(guest)을 구동해 보자.
"vagrant box" 가 정상적으로 수행되었다면,
"Vagrantfile" 파일이 생성되었을 것이다.
16번째쯤 line 으로 가면, config.vm.box 항목을 수정하자.
구동을 해보자.
% ./vagrant up
16번째쯤 line 으로 가면, config.vm.box 항목을 수정하자.
config.vm.box = "hashicorp/precise64" |
구동을 해보자.
% ./vagrant up
% vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'hashicorp/precise64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'hashicorp/precise64' is up to date...
==> default: Setting the name of the VM: test_default_1529398362219_57644
==> default: Fixed port collision for 22 => 2222. Now on port 2200.
Vagrant is currently configured to create VirtualBox synced folders with
the `SharedFoldersEnableSymlinksCreate` option enabled. If the Vagrant
guest is not trusted, you may want to disable this option. For more
information on this option, please refer to the VirtualBox manual:
https://www.virtualbox.org/manual/ch04.html#sharedfolders
This option can be disabled globally with an environment variable:
VAGRANT_DISABLE_VBOXSYMLINKCREATE=1
or on a per folder basis within the Vagrantfile:
config.vm.synced_folder '/host/path', '/guest/path', SharedFoldersEnableSymlinksCreate: false
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2200 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2200
default: SSH username: vagrant
default: SSH auth method: private key
default:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it's present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
default: The guest additions on this VM do not match the installed version of
default: VirtualBox! In most cases this is fine, but in rare cases it can
default: prevent things such as shared folders from working properly. If you see
default: shared folder errors, please make sure the guest additions within the
default: virtual machine match the version of VirtualBox you have installed on
default: your host and reload your VM.
default:
default: Guest Additions Version: 4.2.0
default: VirtualBox Version: 5.2
==> default: Mounting shared folders...
default: /vagrant => /home/ck0911/test
|
vagrant 는 기본적으로, guest 머신의 /vagrant 디렉토리와
host 머신의 project 디렉토리(Vagrantfile 있는 디렉토리)가 서로 공유된다.
만약, host 머신에서 /home/kimchki/test/Vagrantfile 이 존재하고,
이 파일을 사용해서 가상머신(guest)을 실행했다면,
guest 머신의 /vagrant 가 위 디렉토리랑 sync 가 된다는 말이다.
테스트를 해보자.
host 머신에서 아래 명령어를 실행하자.
% echo "123" > /home/kimchki/test/123
guest 머신의 /vagrant 에 123 파일이 생성되어 있는걸 확인할 수 있다.
오~ guest 머신과 host 머신 사이에 연결 통로가 만들어진 셈이다.
출처
https://stackoverflow.com/questions/10155708/where-does-vagrant-download-its-box-files-to
https://www.vagrantup.com/intro/getting-started/index.html
댓글 없음:
댓글 쓰기