Я знаю, что Snappy Ubuntu может размещать Docker-контейнеры. Мой вопрос заключается в том, может ли он также выполняться внутри контейнера в качестве гостя Docker.
Причина, по которой я спрашиваю, заключается в том, что я не могу найти гостевые контейнеры Snappy VM в общедоступном хранилище Docker.
Да, Вы можете: Мгновенный просто разделенный вниз версия Ubuntu и работы Ubuntu внутренний Докер. То, которое Мгновенный не появляется в общедоступном репозитории Докера, подразумевает, что необходимо сделать вещи вручную.
Первый, получите последнее изображение:
wget http://cdimage.ubuntu.com/ubuntu-core/preview/ubuntu-core-alpha-02_amd64-virt.img
Этот файл является изображением QCOW2, предназначенным для QEMU/KVM, но мы можем извлечь его содержание для Докера также.
для доступа к файлам в изображении 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_test с установленное приложение для xkcd-веб-сервера . Вот Dockerfile
, я использовал:
FROM snappy:latest
RUN snappy install xkcd-webserver
EXPOSE 80