Có, bạn có thể: Snappy chỉ là phiên bản rút gọn của Ubuntu và Ubuntu hoạt động bên trong Docker. Việc Snappy không xuất hiện bên trong kho Docker công cộng ngụ ý rằng bạn phải thực hiện mọi thứ một cách thủ công.
Đầu tiên, lấy hình ảnh mới nhất:
wget http://cdimage.ubuntu.com/ubuntu-core/preview/ubuntu-core-alpha-02_amd64-virt.img
Tệp này là hình ảnh QCOW2 dành cho QEMU / KVM, nhưng chúng tôi cũng có thể trích xuất nội dung của nó cho Docker.
Để truy cập các tệp bên trong hình ảnh QCOW2, bạn sẽ cần qemu-nbd
, vì vậy hãy cài đặt nó và chạy:
qemu-nbd -c /dev/nbd0 ubuntu-core-alpha-02_amd64-virt.img
Lệnh này sẽ tạo ra một "đĩa ảo" có tên /dev/ndb0
, với "phân vùng ảo" được đặt tên /dev/ndb0pX
. Sử dụng fdisk -l /dev/nbd0
để có ý tưởng về các phân vùng bên trong hình ảnh QCOW2.
Phân vùng bạn quan tâm là /dev/ndb0p3
, vì vậy hãy gắn kết nó:
mount /dev/ndb0p3 /somewhere
Bạn sắp hoàn thành! Chỉ cần làm theo hướng dẫn của Docker về hình ảnh cơ sở tùy chỉnh :
tar -C /somewhere -c . | docker import - snappy
Bây giờ bạn đã sẵn sàng để tạo hình ảnh Snappy của bạn trên đầu của hình ảnh cơ sở đó. Ví dụ: tôi đã tạo một hình ảnh snappy_test với ứng dụng xkcd-webserver được cài đặt. Đây là cái Dockerfile
tôi đã sử dụng:
FROM snappy:latest
RUN snappy install xkcd-webserver
EXPOSE 80