vagrant init ubuntu/focal64 --> ubuntu/focal64 리눅스 이미지 다운로드/초기화
vagrant up --> 받아온 이미지로 vm 실행
vagrant status --> vm 상태 확인
vagrant ssh --> 실행한 vm으로 접속
vagrant halt --> 실행한 vm 종료
vagrant destroy --> 설치한 vm 삭제
vagrant init ubuntu/focal64 실행 시 해당 폴더에서 cat .\Vagrantfile 을 통해서 해당 파일 내용을 확인하면 파일의 코드 내용을 확인할 수 있다.
다음 코드는 해당 코드를 변경하여 vm 설정을 코드로 변경한 것이다.
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.define "docker-engine" do |ubuntu|
ubuntu.vm.box = "ubuntu/focal64" --> 사용 이 미지
ubuntu.vm.hostname = "docker-engine" --> vm 이름
ubuntu.vm.network "private_network", ip: "192.168.100.10" --> vm 네트워크 설정
ubuntu.vm.provider "virtualbox" do |vb|
vb.name = "docker-engine" --> vm 호스트 이름
vb.cpus = 2 --> cpu 2개
vb.memory = 2048 --> 메모리 2GB
end
end
end
이런 식으로 코드로 정의할 수 있다.
vagrant ssh로 접속하면
해당 코드 적용해서 실행된 모습을 볼 수 있다.
이제 Docker를 vm 내에서 설치해보자.
$ sudo apt-get update
업데이트를 실행시킨 후
https://docs.docker.com/engine/install/ubuntu/
해당 사이트에서 설치 방법을 볼 수 있다.
설치 방법은
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
$ echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
다음의 명령어들을 입력하면 Docker가 설치된다.
Docker는 실행하기 위해서 권한이 필요하다. 이 권한은 root, Docker 그룹 사용자들에게 주어져 있다. 이 권한을 주기 위해
$ sudo usermod -aG docker vagrant(현재 사용자)
입력을 하고 재접속하면 현재 사용자에게 권한이 주어진다.
$ docker ps
이제 위의 명령어를 입력하면 root 권한 없이도 docker에 설치된 이미지를 볼 수 있다.