2015-07-09 18 views

Trả lời

14

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 
+0

Cảm ơn, đã giúp tôi rất nhiều! – vmolchanov

Các vấn đề liên quan