Чи можу я запустити Snappy Ubuntu Core як гість у Docker?


10

Я знаю, що Snappy Ubuntu може розміщувати Docker-контейнери. Моє запитання: чи можна це також запускати всередині контейнера, як гість Docker.

Причина, про яку я запитую, полягає в тому, що я не можу знайти жодних гостьових контейнерів Snappy VM у загальнодоступному сховищі Docker.

Відповіді:


10

Так, ви можете: Snappy - це лише знята версія Ubuntu, а Ubuntu працює всередині Docker. Той факт, що Snappy не з’являється у загальнодоступному сховищі Docker, означає, що ви повинні робити справи вручну.

  1. Спочатку отримайте останнє зображення:

    wget http://cdimage.ubuntu.com/ubuntu-core/preview/ubuntu-core-alpha-02_amd64-virt.img
    

    Цей файл є зображенням QCOW2, призначеним для QEMU / KVM, але ми можемо витягнути його вміст і для Docker.

  2. Для доступу до файлів усередині зображення QCOW2 вам знадобиться qemu-nbd, тому встановіть його та запустіть:

    qemu-nbd -c /dev/nbd0 ubuntu-core-alpha-02_amd64-virt.img
    

    Ця команда створить "віртуальний диск" з назвою /dev/ndb0"віртуальні розділи" /dev/ndb0pX. Використовуйте fdisk -l /dev/nbd0для отримання уявлення про те, які розділи знаходяться у зображенні QCOW2.

  3. Розділ, який вас цікавить, є /dev/ndb0p3, тому встановіть його:

    mount /dev/ndb0p3 /somewhere
    
  4. Ви майже готові! Просто дотримуйтесь посібника Докера щодо базових базових зображень :

    tar -C /somewhere -c . | docker import - snappy
    

Тепер ви готові створити свої зображення Snappy поверх цього базового зображення. Наприклад, я створив зображення snappy_test із встановленим додатком xkcd-webserver . Ось Dockerfileя використав:

FROM snappy:latest
RUN snappy install xkcd-webserver
EXPOSE 80

2
Немає публічного зображення Docker для Snappy?
Робін Уінслоу,

Чи можете ви, будь ласка, переглянути свою відповідь? Схоже , що ваше рішення більше не працює з поточної Ubuntu-жильний зображення: cdimage.ubuntu.com/ubuntu-core/16/stable/current / ...
chrisber

1
@ Karl2011 Я спробую розглянути це, як тільки у мене з’явиться вільний час :)
Андреа Корбелліні,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.