Так, ви можете: Snappy - це лише знята версія Ubuntu, а Ubuntu працює всередині Docker. Той факт, що Snappy не з’являється у загальнодоступному сховищі Docker, означає, що ви повинні робити справи вручну.
Спочатку отримайте останнє зображення:
wget http://cdimage.ubuntu.com/ubuntu-core/preview/ubuntu-core-alpha-02_amd64-virt.img
Цей файл є зображенням QCOW2, призначеним для QEMU / KVM, але ми можемо витягнути його вміст і для Docker.
Для доступу до файлів усередині зображення QCOW2 вам знадобиться qemu-nbd
, тому встановіть його та запустіть:
qemu-nbd -c /dev/nbd0 ubuntu-core-alpha-02_amd64-virt.img
Ця команда створить "віртуальний диск" з назвою /dev/ndb0
"віртуальні розділи" /dev/ndb0pX
. Використовуйте fdisk -l /dev/nbd0
для отримання уявлення про те, які розділи знаходяться у зображенні QCOW2.
Розділ, який вас цікавить, є /dev/ndb0p3
, тому встановіть його:
mount /dev/ndb0p3 /somewhere
Ви майже готові! Просто дотримуйтесь посібника Докера щодо базових базових зображень :
tar -C /somewhere -c . | docker import - snappy
Тепер ви готові створити свої зображення Snappy поверх цього базового зображення. Наприклад, я створив зображення snappy_test із встановленим додатком xkcd-webserver . Ось Dockerfile
я використав:
FROM snappy:latest
RUN snappy install xkcd-webserver
EXPOSE 80