Vagrant 문서 원본 보기
←
Vagrant
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
Vagrant는 간소화된 가상머신(VM, Virtual Machine) 관리 서비스 이다. *홈페이지 : [http://vagrantup.com http://vagrantup.com] *다운로드 : [https://www.vagrantup.com/downloads.html https://www.vagrantup.com/downloads.html] **https://vagrantcloud.com/ **[http://files.vagrantup.com/ http://files.vagrantup.com/] **[http://vagrantbox.es/ http://vagrantbox.es/] * 박스 다운로드 : https://app.vagrantup.com/boxes/search, http://www.vagrantbox.es/ :* CentOS 7 : https://app.vagrantup.com/centos/boxes/7 :* Ubuntu 18.04.1 LTS : https://app.vagrantup.com/ubuntu/boxes/xenial64 *라이선스 : Mit License *플랫폼 : Ruby == Vagrant 개요 == Vagrant 용어 * Box : 기본 설정을 가진 VM Template Image == Vagrant 설치 == === CentOS6에 VirtualBox 설치 === wget -O /etc/yum.repos.d/virtualbox.repo http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo yum install VirtualBox-5.2 virtualbox -help === CentOS6에 Vagrant 설치 === #--- https://releases.hashicorp.com/vagrant/ #--- yum -y install vagrant rpm -ivh https://releases.hashicorp.com/vagrant/2.1.4/vagrant_2.1.4_x86_64.rpm vagrant -v vagrant --help # /root/.vagrant.d/boxes/ # /root/VirtualBox VMs/ # /disk/root/.vagrant.d/ # /disk/root/VirtualBox VMs/ #--- Plugin 설치 vagrant plugin install vagrant-disksize vagrant plugin install vagrant-vbguest vagrant plugin list === Windows에 Vagrant 설치 === [https://www.vagrantup.com/downloads.html Vagrant 다운로드 사이트] Vagrant 64 bits 설치 파일을 다운로드하여 설치 한다. Vagrant 폴더 * c:/HashiCorp/Vagrant/ vagrant -v #--- Vagrant 2.1.5 #--- Plugin 설치 vagrant plugin install vagrant-disksize vagrant plugin install vagrant-vbguest vagrant plugin list == Vagrantfile 파일 == # _*_ mode: ruby _*_ # vi: set ft=ruby scada1 = "/data/scada_disk_1.vdi" Vagrant.configure("2") do |config| #--- Vagrant version : 2 config.vm.define "scada" do |scada| #--- VM 이름 : scada scada.vm.box = "centos/7" #--- OS : CentOS 7 # scada.vm.box = "ubuntu/xenial64" #--- OS : Ubuntu 18.04.1 LTS # scada.disksize.size = '50GB' #--- Disk : 50GB # scada.vm.network "public_network" # scada.vm.network "private_network", ip: "192.168.33.101" #--- Private network # scada.vm.network "private_network", type: "dhcp" scada.vm.network "forwarded_port", guest: 7577, host: 7577 #--- Port Forward scada.vm.network "forwarded_port", guest: 7578, host: 7578 scada.vm.network "forwarded_port", guest: 7579, host: 7579 scada.vm.network "forwarded_port", guest: 7582, host: 7582 scada.vm.network "forwarded_port", guest: 1883, host: 1883 scada.vm.network "forwarded_port", guest: 8883, host: 8883 scada.vm.network "forwarded_port", guest: 3306, host: 3306 scada.vm.network "forwarded_port", guest: 80, host: 80 scada.vm.network "forwarded_port", guest: 443, host: 443 scada.vm.network "forwarded_port", guest: 22, host: 2022 scada.vm.provider "virtualbox" do |vb| vb.name = "SCADA" #--- VM 이름 vb.cpus = "4" #--- Cores : 4 cores vb.memory = "3072" #--- Memory : 3GB unless File.exist? (scada1) #--- variant : Standard, Fixed vb.customize ['createhd', '--filename', scada1, '--variant', 'Standard', '--size', 1024] end #--- --storagectl : IDE, SCSI vb.customize ['storageattach', :id, '--storagectl', 'IDE', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', scada1] end scada.vm.provision "shell", inline: "echo Hello" #--- VM 실행시 처음 실행할 명령 end end == VM 관리 == === CentOS 7 box 생성 === mkdir -p /work/vagrant/CentOS7 cd /work/vagrant/CentOS7 #--- CentOS 7 설치를 위한 Vagrantfile을 생성 한다. vi Vagrantfile Vagrant.configure("2") do |config| config.vm.box = "centos/7" config.disksize.size = '50GB' config.vm.provider "virtualbox" do |vb| vb.name = "CentOS7" vb.memory = "4096" vb.cpus = "4" end end vagrant init [${box_name}] #--- Vagrantfile로부터 생성되는 환경 초기화 vagrant box list #--- Vagrant Box 목록 조회 === Ubuntu 18.04.1 LTS box 생성 === mkdir -p /work/vagrant/Ubuntu18 cd /work/vagrant/Ubuntu18 #--- Ubuntu 18.04.1 LTS 설치를 위한 Vagrantfile을 생성 한다. vi Vagrantfile Vagrant.configure("2") do |config| config.vm.box = "ubuntu/xenial64" config.vm.network "forwarded_port", guest: 80, host: 8080 config.disksize.size = '50GB' config.vm.provider "virtualbox" do |vb| vb.name = "Ubuntu18" vb.memory = "4096" vb.cpus = "4" end end vagrant init [${box_name}] #--- Vagrantfile로부터 생성되는 환경 초기화 vagrant box list #--- Vagrant Box 목록 조회 === VM 관리 명령 === vagrant up #--- startup vagrant reload #--- 변경된 Vagrantfile 적용 (shutdown & startup) vagrant halt #--- shutdown vagrant destroy -f #--- shutdown & destroy vagrant status #--- 상태 조회 vagrant suspend #--- VM 멈춤 vagrant resume #--- 멈춘 VM 다시 시작 #--- ssh 127.0.0.1:2222, vagrant / vagrant #--- port는 vagrant up시 표시되는 메시지에서 확인할 것 vagrant ssh #--- VM에 ssh로 접속 === Snapshot 관리 === vagrant snapshot push #--- 환경 저장 vagrant ssh #--- 환경 저장 후 여러가지 작업을 한다. vagrant snapshot pop #--- 저장(push)된 환경으로 복구 vagrant snapshot save ${name} #--- Snapshot 생성 vagrant snapshot restore ${name} #--- Snapshot으로 복구 vagrant snapshot list #--- Snapshot 목록 조회 vagrant snapshot delete ${name} #--- Snapshot을 삭제 == 참고문헌 == *[http://www.slideshare.net/kthcorp/h3-2012-vagrant http://www.slideshare.net/kthcorp/h3-2012-vagrant] *[http://adhoc.tistory.com/entry/Vagrant-Box-%EB%A7%8C%EB%93%A4%EA%B8%B0 Vagrant Box 만들기, 2015.1] [[Category:Cloud|Category:Cloud]]
Vagrant
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보