Làm cách nào để thêm tệp .box đã tải xuống vào Vagrant?


115

Làm cách nào để thêm .boxtệp đã tải xuống vào danh sách các hộp có sẵn của Vagrant? Các .boxtập tin nằm trên một ổ đĩa ngoài.

Tôi đã thử chạy vagrant box add my-box d:/path/to/box, nhưng Vagrant hiểu đường dẫn dưới dạng URL.


Bạn có thể đăng toàn bộ đầu ra cùng với phiên bản lang thang không? Về mặt lý thuyết lang thang hộp add nên làm việc như một nét duyên dáng với đường dẫn tập tin địa phương
Emyl

3
Tôi đang sử dụng Ubuntu và vagrant box add my-box /path/to/file.boxlàm việc tốt cho tôi.
maan81

Câu trả lời:


177

Giải pháp:

vagrant box add my-box file:///d:/path/to/file.box

Phải ở định dạng URL.


8
điều gì sẽ xảy ra nếu tôi sử dụngvagrant box add my-box ./path/to/mybox.box ?
Rakib

bạn cũng có thể vượt qua -fđể buộc nó tải lại hộp và thay thế nó nếu nó đã tồn tại. ví dụvagrant box add -f my-box http://some-url
Brad Parks

vagrant trong macos và linux (2.2.2) hoạt động với một đường dẫn URI nun tới, vì vậy ít nhất có thể bỏ qua tệp lược đồ: // ở đây. Có thể đó là một thay đổi cụ thể về phiên bản hoặc cửa sổ cụ thể của nó, tôi muốn thay đổi thứ hai
Eugen Mayer

90

Bạn có thể trỏ đến thư mục chứa vagrant và sao chép tệp hộp vào cùng một vị trí. Sau đó, sau khi bạn có thể chạy như sau

vagrant box add my-box name-of-the-box.box
vagrant init my-box
vagrant up

Chỉ để kiểm tra trạng thái

vagrant status

tôi đã làm vagrant initvagrant upvà hộp lang thang của tôi đang chạy. Nhưng tôi không thể ssh. Khi tôi thực hiện, vagrant sshnó thông báo "Máy bạn đang cố gắng SSH vào được định cấu hình để sử dụng xác thực dựa trên mật khẩu. Vagrant không thể tập lệnh nhập mật khẩu cho bạn. Nếu bạn được nhắc nhập mật khẩu, vui lòng nhập chính mật khẩu của bạn. đã được định cấu hình trong Vagrantfile. " trong khi tôi không định cấu hình bất cứ thứ gì trong Vagrantfile. Tôi chỉ đang sử dụng Vagrantfilecái được tạo tự động vagrant init. Khi tôi cat Vagrantfile, tôi không thấy bất cứ điều gì được gọi là một mật khẩu hoặc pem hoặc bất cứ điều gì
Rakib

Nếu vagrant sshđang yêu cầu mật khẩu và hộp cơ sở bạn đang sử dụng là công khai, thì rất có thể là mật khẩu vagrant.
Bender the Greatest

Tôi có lỗi tương tự và mật khẩu lang thang không giải quyết nó
Karim Samir

Mật khẩu cho modern.ie hộp Microsoft làPassw0rd!
Redsandro

27

Cố gắng thay đổi thư mục thành nơi .boxlưu

Chạy vagrant box add my-box downloaded.box, điều này có thể hoạt động vì nó tránh đường dẫn tuyệt đối (trên Windows?).


tôi đã làm vagrant initvagrant upvà hộp lang thang của tôi đang chạy. Nhưng tôi không thể ssh. Khi tôi thực hiện, vagrant sshnó báo "Máy bạn đang cố gắng SSH vào được định cấu hình để sử dụng xác thực dựa trên mật khẩu. Vagrant không thể tập lệnh nhập mật khẩu cho bạn. Nếu bạn được nhắc nhập mật khẩu, vui lòng nhập chính mật khẩu của bạn. đã được định cấu hình trong Vagrantfile. " trong khi tôi không định cấu hình bất cứ thứ gì trong Vagrantfile. Tôi chỉ đang sử dụng Vagrantfilecái đã được tạo tự động vagrant init. Khi tôi cat Vagrantfile, tôi không thấy bất cứ điều gì được gọi là một mật khẩu hoặc pem hoặc bất cứ điều gì
Rakib

9

Giải pháp cho Windows:

  • Mở cmd hoặc powershell với tư cách quản trị viên
  • CD vào thư mục chứa .boxtệp
  • vagrant box add --name name_of_my_box 'name_of_my_box.box'
  • vagrant box list sẽ hiển thị hộp mới trong danh sách

Giải pháp cho MAC:

  • Mở thiết bị đầu cuối
  • CD vào thư mục chứa .boxtệp
  • vagrant box add --name name_of_my_box "./name_of_my_box.box"
  • vagrant box list sẽ hiển thị hộp mới trong danh sách

3
F:\PuppetLab\src\boxes>vagrant box add precise32 file:///F:/PuppetLab/src/boxes/precise32.box
==> box: Adding box 'precise32' (v0) for provider:
    box: Downloading: file:///F:/PuppetLab/src/boxes/precise32.box
    box: Progress: 100% (Rate: 1200k/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'precise32' (v0) for 'virtualbox'!

3

Đầu tiên đổi tên Vagrantfile sau đó

vagrant box add new-box name-of-the-box.box
vagrant init new-box
vagrant up

Chỉ để kiểm tra trạng thái

vagrant status

đó là tất cả


3

Ngoài ra, để thêm hộp đã tải xuống, có thể tạo tệp json với siêu dữ liệu. Bằng cách này, một số chi tiết bổ sung có thể được áp dụng. Ví dụ để nhập hộp và chỉ định phiên bản của nó, hãy tạo tệp:

{
  "name": "laravel/homestead",
  "versions": [
    {
      "version": "7.0.0",
      "providers": [
        {
          "name": "virtualbox",
          "url": "file:///path/to/box/virtualbox.box"
        }
      ]
    }
  ]
}

Sau đó chạy vagrant box addlệnh với tham số:

vagrant box add laravel/homestead /path/to/metadata.json

1

Chỉ để thêm mô tả cho một trường hợp khác. Tôi phải cài đặt các cấu hình dựa trên Vagrant Ubuntu 18.04 tương tự cho nhiều máy Ubuntu. Downloaded hộp bionic64 một sử dụng vagrant upvới Vagrantfilenơi hộp này đã được chỉ định, sau đó sao chép thư mục .vagrant.d/boxes/ubuntu-VAGRANTSLASH-bionic64cho người khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.