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— имя файла образа, загруженного ранее.
Недостаток метода — за обновлениями образа придётся следить самостоятельно.