방랑자 상자가 실행 중입니다 (LAMP 스택으로 구성됨). 다른 PC로 전송해야합니다. 어떻게 내보낼 수 있습니까? 다른 PC에 복사 할 수있는 파일 (또는 파일)을 얻을 수 있으므로 거기에서 방랑 상자를 가져 오는 명령을 실행할 수 있습니다.
방랑자 상자가 실행 중입니다 (LAMP 스택으로 구성됨). 다른 PC로 전송해야합니다. 어떻게 내보낼 수 있습니까? 다른 PC에 복사 할 수있는 파일 (또는 파일)을 얻을 수 있으므로 거기에서 방랑 상자를 가져 오는 명령을 실행할 수 있습니다.
답변:
이 작업을 수행하는 두 가지 방법이 있습니다. 나는 그것을 더러운 방법 과 깨끗한 방법 이라고 부를 것입니다 .
1. 더러운 길
다음 vagrant package
명령을 사용하여 현재 가상 환경에서 상자를 만듭니다 .
http://docs.vagrantup.com/v2/cli/package.html
그런 다음 상자를 다른 PC에 복사하고 사용하여 추가하고 평소대로 vagrant box add
실행하십시오 vagrant up
.
작업 디렉토리 (가있는 파일)의 파일 Vagrantfile
은 가상 머신이 부팅 될 때 공유되므로 다른 PC에도 복사해야합니다.
2. 깨끗한 방법
이론적으로 Vagrant를 사용하여 내보내기 / 가져 오기를 수행 할 필요가 없어야합니다. 가상 환경 (chef, puppet, ansible) 및 작업 디렉토리에 대한 git과 같은 버전 제어 시스템을 구성하기 위해 프로비저닝을 사용할 수있는 예지력이 있다면 환경 복사는이 시점에서 실행하는 것처럼 간단합니다.
git clone <your_repo>
vagrant up
내 Mac의 하드 드라이브가 프로젝트 중간에 삐 소리를 내고있어서 SSD를 설치하기로 결정했습니다. 내 프로젝트를 한 디스크에서 다른 디스크로 이동해야했습니다. 고려해야 할 몇 가지 사항 :
이것은 나를 위해 일한 것입니다.
1.) Copy your ~/.vagrant.d directory to your new machine.
2.) Copy your ~/VirtualBox\ VMs directory to your new machine.
3.) In VirtualBox add the machines one by one using **Machine** >> **Add**
4.) Run `vagrant box list` to see if vagrant acknowledges your machines.
5.) `git clone my_project`
6.) `vagrant up`
VB Guest 추가에 몇 가지 문제가있었습니다.
나는 이 해결책으로 그들을 고쳤다 .
vagrant box list
. 0bin.net/paste/iCiaqNhU-i3bbfY2#-KDiXYcRFni1RNgNJhOBrIs/…
이것은 실제로 매우 간단합니다
VBoxManage list vms
. @Phil 2 단계와 4 단계에서 말한대로 복사하고 수행 할 수 있습니다. :) 예.
scotch/box (virtualbox, 3.0)
)). 내 명령-식별자가있는 가상 머신, 예 :"Win10 - SandBox" {bc251c06-501f-4c0f-bgfa-21f2815ba2cd}
가장 쉬운 방법은 Vagrant 상자를 포장 한 다음 다른 PC에 복사 (예 : scp
또는 rsync
)하고 추가하고 vagrant up
;-)하는 것입니다.
자세한 단계 는 이미 설치된 방랑자 상자를 복제하는 방법 이 있습니까?를 확인하십시오.=>
위의 답변 중 어느 것도 나를 위해 일하지 않았습니다. 저는 2 일 동안 Vagrant + VirtualBox Machine을 컴퓨터에서 다른 컴퓨터로 마이그레이션하는 방법을 연구했습니다 ... 가능합니다!
먼저 가상 머신이 동기화 / 공유 폴더와 분리되어 있음을 이해해야합니다. 따라서 컴퓨터를 압축 할 때 파일없이 데이터베이스를 압축하는 것입니다.
해야 할 일 :
1- 컴퓨터 1 호스트 머신의 CMD를 열고 (명령 줄. 오른쪽 버튼을 사용하여 관리자로 열기-> "관리자 권한으로 실행") 방랑 설치 파일로 이동합니다. 제 경우 : C : / VVV Vagrantfile은 다음 폴더도 볼 수 있습니다.
/config/
/database/
/log/
/provision/
/www/
Vagrantfile
...
/ www / 폴더는 개발 도메인과 동기화 폴더가있는 곳입니다. 동기화 폴더가 다른 위치에있을 수 있습니다. 수행중인 작업을 이해해야합니다. 또한 / config 및 / database는 동기화 폴더입니다.
2- 다음 명령을 실행하십시오. vagrant package --vagrantfile Vagrantfile
(이 명령은 Vagrantfile 구성을 사용하여 가상 머신의 패키지를 수행합니다.)
다음은 명령에 대한 Vagrant 문서에서 읽을 수있는 내용입니다.
일반적인 오해는 --vagrantfile 옵션이이 상자와 함께 vagrant init를 사용할 때 사용되는 Vagrantfile을 패키지화한다는 것입니다. 그렇지 않다. 대신 Vagrantfile이로드되고 상자가 사용될 때 Vagrant로드 프로세스의 일부로 읽 힙니다. 자세한 내용은 Vagrantfile로드 순서를 참조하세요.
https://www.vagrantup.com/docs/cli/package.html
완료되면 package.box 파일이 생깁니다.
3-이 모든 파일 (/ config, / database, Vagrantfile, package.box 등)을 복사하여 가상 머신을 설치하려는 컴퓨터 2에 붙여 넣습니다 (제 경우 D : / VVV).
이제 컴퓨터 2 호스트에 필요한 모든 사본이 있습니다.
4- 이것을 실행하십시오 : vagrant box add package.box --name VVV
(--name은 가상 머신의 이름을 지정하는 데 사용됩니다. 제 경우에는 이름이 VVV입니다.) (이미이 이름을 가진 가상 머신이 있고 덮어 쓰려는 경우 --force를 사용할 수 있습니다. (주의 깊게 사용하세요!))
새로운 방랑 가상 머신의 압축이 풀립니다.
5- 완료되면 다음을 실행하십시오.
vagrant up
머신이 설치되고 "Oracle 가상 머신 박스 관리자"에 표시되어야합니다. 가상 머신이 보이지 않으면 관리자 권한으로 Oracle VM 상자를 실행 해보십시오 (마우스 오른쪽 버튼 클릭-> 관리자 권한으로 실행).
이제 모든 것이 정상일 수 있지만 호스트가 예상 한대로인지 확인해야합니다.
c:/windows/system32/hosts
6- 컴퓨터 1에서 컴퓨터 2로 호스트 파일을 복사하는 것이 좋습니다 . 또는 필요한 행을 복사하십시오. 제 경우에는 다음과 같은 호스트가 필요합니다.
192.168.50.4 test.dev
192.168.50.4 vvv.dev
...
192.168.50.4는 내 가상 머신의 IP이고 test.dev 및 vvv.dev는 호스트를 개발하고 있습니다.
나는 이것이 당신을 도울 수 있기를 바랍니다. :) 당신의 의견을 보내 주시면 기쁩니다.
귀하가 찾을 수있는 제 경우의 몇 가지 특이 사항 :
vagrant를 실행했을 때 mysql에 문제가 있었는데 작동하지 않았습니다. 가상 서버에서 실행해야했습니다 (오라클 가상 머신-> 콘솔 표시를 마우스 오른쪽 버튼으로 클릭).apt-get install mysql-server
그 후, 나는 다시 방랑하고 모든 것이 작동했지만 데이터베이스에 데이터가 없습니다. 그래서 저는 컴퓨터 1에서 mysqldump 모든 테이블을 만들어 컴퓨터 2에 업로드했습니다.
기타 참고 사항 :
내 가상 머신이 컴퓨터 1과 컴퓨터 2에 정확히 있지는 않습니다. 예를 들어, 얼마 전에 NFS를 사용하도록 내부 구성을 만들었고 (서버 동기화 폴더의 속도를 높이기 위해) 컴퓨터 2에서이 명령을 다시 실행해야했습니다. 주최자:vagrant plugin install vagrant-winnfsd
에 명시된 바와 같이
Vagrant가 가상 하드 드라이브를 찾는 위치를 어떻게 변경할 수 있습니까?
가상 머신 상태는 미리 정의 된 VirtualBox 폴더에 저장됩니다. vagrant-project 외에 해당 머신 (폴더)을 다른 호스트에 복사하면 가상 머신 상태가 유지됩니다.
2019 년에는 하위 명령이 있습니다. vagrant box repackage
vagrant box repackage --help
Usage: vagrant box repackage <name> <provider> <version>
-h, --help Print this help
당신은 찾을 수 name
provider
및 version
실행vagrant box list
vagrant box list
macinbox (virtualbox, 10.14.5)
의 OUPUT는 vagrant box repackage
라는 파일 package.box
내용이 아래로 나열 할 수있는 TGZ 파일이 기본적으로 :
tar tzf package.box
./metadata.json
./box.ovf
./Vagrantfile
./box-disk001.vmdk