0053 — Образы Vagrant
Проблема
С некоторых пор Vagrant не даёт напрямую использовать образы, размещённые на хабе Vagrantup.
Допустим, мы хотим использовать образ Debian Bookworm.
Раньше инструкция выглядела так:
Создайте в любом каталоге файл
Vagrantfile
со следующим содержимым:# frozen_string_literal: true Vagrant.configure('2') do |config| config.vm.box = 'debian/bookworm64' end
Выполните команду:
vagrant up
Однако, времена изменились. И хотя вы всё ещё можете свободно просматривать образы на указанном выше сайте, приведённая выше инструкция работать не будет, а будет выдавать ошибку:
==> default: Box 'debian/bookworm64' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
The box 'debian/bookworm64' could not be found or
could not be accessed in the remote catalog. If this is a private
box on HashiCorp's Vagrant Cloud, please verify you're logged in via
`vagrant login`. Also, please double-check the name. The expanded
URL and error message are shown below:
URL: ["https://vagrantcloud.com/debian/bookworm64"]
Error: The requested URL returned error: 404
Решения
Использование VPN
Если у вас есть быстрый безлимитный VPN с не-российским IP-адресом, то никакой проблемы у вас нет.
Использование зеркала
Если у вас есть зеркало, которому вы доверяете, используйте его. Для этого в начало Vagrantfile
добавьте строку:
ENV['VAGRANT_SERVER_URL'] = 'https://example.com/'
Ручная загрузка образа
Если зеркала у вас нет, или вы ему не доверяете, придётся всё сделать вручную:
Перейдите на страницу образа на сайте Vagrantup.
В разделе с описанием образа найдите ссылку на загрузку для нужной системы виртуализации.
Загрузите образ по ссылке, например:
wget https://app.vagrantup.com/debian/boxes/bookworm64/versions/12.20240814.1/providers/virtualbox/unknown/vagrant.box \ -O debian-bookworm64.box
Добавьте образ в каталог образов:
vagrant box add debian/bookworm64 ./debian-bookworm64.box
Здесь:
debian/bookworm64
— название образа. Его нужно использовать вVagrantfile
в строке с настройкой параметраconfig.vm.box
.debian-bookworm64.box
— имя файла образа, загруженного ранее.
Недостаток метода — за обновлениями образа придётся следить самостоятельно.