Tôi thấy rằng có thể chuyển đổi hình ảnh Docker thành hộp Vagrant.Cách chuyển đổi hộp Vagrant thành hình ảnh Docker
Có cách nào để chuyển đổi hộp Vagrant thành hình ảnh Docker không?
Tôi thấy rằng có thể chuyển đổi hình ảnh Docker thành hộp Vagrant.Cách chuyển đổi hộp Vagrant thành hình ảnh Docker
Có cách nào để chuyển đổi hộp Vagrant thành hình ảnh Docker không?
Tôi đã phát lại điều này bằng các hộp EC2 và hộp Virtualbox trong dự án Github blacklabelops/centos của tôi. Tôi đã chuẩn bị một Vagrantfile với cài đặt cần thiết và bạn có thể tự mình thử với hộp Vagrant của bạn.
hộp EC2:
Tạo và cung cấp một hình ảnh AMI với https://github.com/katzj/ami-creator - Skripts trong kho của tôi.
Sau đó sử dụng Guestfish để trích xuất hình ảnh thành tarball. - Các tập lệnh trong kho lưu trữ của tôi.
Nhập tarball vào trong Docker. - Ví dụ trong kho lưu trữ của tôi.
Và bây giờ với Vagrant Virtualbox, các lệnh có thể được phát lại bằng Vagrantfile được cung cấp của tôi. Chỉ cần clone kho, quay nó lên và gõ:
$ qemu-img convert -f vmdk -O raw MyTry-disk1.vmdk mytry.img
Các Vagrant hộp của VMDK thể được tìm thấy trong thư mục VirtualBox, thường là ~/VirtualBox \ VMs /.
Sau khi nguyên liệu đã được tạo, bạn có thể áp dụng Guestfish.
$ guestfish -a mytry.img --ro
$ ><fs> run
Lưu ý: tty
$ ><fs> list-filesystems
/dev/sda1: ext4
/dev/VolGroup/lv_root: ext4
/dev/VolGroup/lv_swap: swap
$ ><fs> mount /dev/VolGroup/lv_root/
$ ><fs> tar-out/- | xz --best >> mytry.xz
$ ><fs> exit
Lưu ý: thoát tty
Nhập khẩu vào Docker:
$ cat mytry.xz | docker import - mytryimage
Nhìn vào bên trong vùng chứa
$ docker run -it mytryimage bash
Cảm ơn, đã giúp tôi rất nhiều! – vmolchanov