IT Share you

Vagrant 공유 및 동기화 폴더

shareyou 2020. 12. 4. 21:28
반응형

Vagrant 공유 및 동기화 폴더


다음 콘텐츠로 Vagrantfile을 만들었습니다.

Vagrant::Config.run do |config|

  config.vm.define :foo do |cfg|
    cfg.vm.box     = 'foo'
    cfg.vm.host_name = "foo.localdomain.local"
    cfg.vm.network :hostonly, "192.168.123.10"
  end

  Vagrant.configure("2") do |cfg|
    cfg.vm.customize [ "modifyvm", :id , "--name", "foo" , "--memory", "2048", "--cpus", "1"]
    cfg.vm.synced_folder "/tmp/", "/tmp/src/"
  end

end

vagrant up또는 다음 vagrant reload을 얻습니다.

[foo] Attempting graceful shutdown of VM...
[foo] Setting the name of the VM...
[foo] Clearing any previously set forwarded ports...
[foo] Fixed port collision for 22 => 2222. Now on port 2200.
[foo] Creating shared folders metadata...
[foo] Clearing any previously set network interfaces...
[foo] Preparing network interfaces based on configuration...
[foo] Forwarding ports...
[foo] -- 22 => 2200 (adapter 1)
[foo] Booting VM...
[foo] Waiting for VM to boot. This can take a few minutes.
[foo] VM booted and ready for use!
[foo] Setting hostname...
[foo] Configuring and enabling network interfaces...
[foo] Mounting shared folders...
[foo] -- /vagrant

내 질문은 다음과 같습니다.

  1. Vagrant가 /vagrant공유 폴더를 마운트하는 이유는 무엇 입니까? 공유 폴더가 동기화 된 폴더를 위해 더 이상 사용되지 않음을 읽었으며 Vagrantfile에 공유 폴더를 정의하지 않았습니다.
  2. 동기화 된 폴더가 설정되지 않은 이유는 무엇입니까?

MacOX 10.8.4에서 Vagrant 버전 1.2.7을 사용하고 있습니다.


공유 폴더 VS 동기화 된 폴더

기본적으로 공유 폴더는 v1에서 v2 (문서)로 동기화 된 폴더로 이름이 변경되며, 보닛 아래에서 vboxsf호스트와 게스트간에 여전히 사용 중입니다 (파일 / 디렉토리 수가 많은 경우 알려진 성능 문제가 있음).

/vagrant게스트 에서처럼 마운트 된 Vagrantfile 디렉토리

Vagrant는 게스트에서와 Vagrantfile같이 현재 작업 디렉토리 ( 상주하는 위치)를 마운트하고 /vagrant있으며 이것이 기본 동작입니다.

문서 보기

참고 : 기본적으로 Vagrant는 프로젝트 디렉터리 (Vagrantfile이있는 디렉터리)를 / vagrant에 공유합니다.

당신은 추가하여이 동작을 비활성화 할 수 있습니다 cfg.vm.synced_folder ".", "/vagrant", disabled: true당신에 Vagrantfile.

동기화 된 폴더가 작동하지 않는 이유

/tmp호스트 의 출력 기반으로 작동 시간 동안 마운트되지 않았습니다.

동기화 된 폴더가 마운트되지 않은 이유에 대한 추가 출력을 위해 VAGRANT_INFO=debug vagrant up또는 VAGRANT_INFO=debug vagrant reload사용 하여 VM을 시작하십시오. 권한 문제 일 수 있습니다 ( /tmp호스트 의 모드 비트는 이어야 함 drwxrwxrwt).

나는 다음을 사용하여 테스트 빠른 테스트를 수행했으며 작동했습니다 (나는 opscode bento raring vagrant base box를 사용했습니다)

config.vm.synced_folder "/tmp", "/tmp/src"

산출

$ vagrant reload
[default] Attempting graceful shutdown of VM...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Available bridged network interfaces:
1) eth0
2) vmnet8
3) lxcbr0
4) vmnet1
What interface should the network bridge to? 1
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Running 'pre-boot' VM customizations...
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] VM booted and ready for use!
[default] Configuring and enabling network interfaces...
[default] Mounting shared folders...
[default] -- /vagrant
[default] -- /tmp/src

Within the VM, you can see the mount info /tmp/src on /tmp/src type vboxsf (uid=900,gid=900,rw).

참고URL : https://stackoverflow.com/questions/18528717/vagrant-shared-and-synced-folders

반응형