2015-05-04 14 views
5

Tôi đang cố tạo một thùng chứa LXC từ một tar.gz cục bộ của một rootfs của một vùng chứa khác nhưng tôi không thể tìm thấy bất kỳ tùy chọn nào trong lxc-create để làm vì thế. Tôi có thể tạo ra một container mới, loại bỏ rootfs của nó và thay thế bằng rootfs untared của tôi, nhưng điều này là quá vụng về. Có cách nào tốt hơn để làm điều này?Tạo một thùng chứa LXC từ một mẫu cục bộ (tar.gz)

Trả lời

1

Sau một chút tìm kiếm tôi thấy this script mà phải mất một tar.gz và tạo ra một container LXC.

$ lxc-create -n test-container -t ./salt_tarball -- --network_link lxcbr0 --imgtar /root/template.tar.gz 

lưu ý ở đây rằng salt_tarball là tên của tập lệnh.

0

Sử dụng that script @syed nêu trên cần nhiều việc (Ubuntu 16.04, LXC 2.0, vẫn không lxd):

Trước tiên, bạn phải sao chép kịch bản để các mẫu thư mục và làm cho nó thực thi

$ cp salt_tarball /usr/share/lxc/templates/lxc-salt_tarball 
$ chmod +x /usr/share/lxc/templates/lxc-salt_tarball 

Đảm bảo thêm lxc- trước tên trong khi sao chép.

Để tạo container mới bằng cách sử dụng kịch bản làm

$ lxc-create -n test-container -t salt_tarball -- --network_link lxcbr0 --imgtar /root/template.tar.gz 

ví dụ: cuộc gọi salt_tarball mà không ./ và không có lxc- thêm ở trên. Tùy chọn --network_link là tùy chọn.

Cẩn thận sử dụng --numeric-owner khi tạo tar.gz từ bất kỳ vùng chứa hiện có nào.

+0

Bạn không nhất thiết phải sao chép tập lệnh vào/usr/share/lxc. Chỉ cần tham khảo kịch bản với đường dẫn đầy đủ của nó, hoặc '$ (pwd)/salt_tarball' – Pwnna

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