Да, вы можете: 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