VirtualBox와 함께 Docker 사용(바람직하게는 Vagrant/Vagrantfile을 통해)

VirtualBox와 함께 Docker 사용(바람직하게는 Vagrant/Vagrantfile을 통해)

Virtualbox(가급적 사용)를 사용하여 내부에서 실행될 수 있는 가상 머신을 Vagrantfile만들려면 어떻게 해야 합니까 ? Dockerfile(아키텍처: x86-64)

목표: 사실상 매우 인기 있는 표준인 DockerfileDocker 내에서 실행하는 동안(가능하지 않은 경우) VirtualBox VM 격리(보안을 위해)의 이점을 누리고 싶습니다 . Dockerfile가능하다면 "코드로" 만들기 위해 Vagrantfile.

비대상: Vagrant 및 Docker를 공급자로 사용합니다.

작동하지 않는 가상적인 이유: IDK, 하지만 중첩된 가상화와 관련이 있을 수 있다고 생각합니까? 내 목표는 VM의 Virtualbox 격리를 활용하는 것이므로 여기서는 격리를 위해 VM을 사용하므로 필요한 경우(작동하는 경우) 내부 VM 도커를 덜 "보안"하도록 구성할 수 있습니다.

다른 옵션을 시도했지만 작동하지 않았습니다. vagrant up시작하기 위해 쉽게 복사하여 붙여넣을 수 있는 파일은 다음과 같습니다.

알파인 Vagrantfile: (작동하지 않음)

Vagrant.configure("2") do |config|
  config.vm.box = "alpine/alpine64"
  config.vm.provision "shell", inline: <<-SHELL
    sudo apk update
    sudo apk add docker
    sudo rc-update add docker boot
    sudo service docker start
  SHELL
end

ArchLinux Vagrantfile: (작동하지 않음)

$script = <<-'SCRIPT'
pacman --noconfirm -Syyu
pacman --noconfirm -S docker
gpasswd -a vagrant docker
systemctl docker enable
systemctl docker start
SCRIPT

Vagrant.configure("2") do |config|
  config.vm.box = "archlinux/archlinux"
  config.vm.provider "virtualbox" do |v|
    v.name = "Archlinux_With_Docker"
    v.memory = 512
    v.cpus = 2
  end
  config.vm.provision "shell", inline: $script
end

관련 정보