Докер на Raspbian?


24

Як би я міг запустити Docker ( https://www.docker.io ) на Raspbian?

Знайдені нами інструкції - це дуже ручний процес, заснований на Raspbian, але з дуже старим ядром, який, здавалося, вимагає купу виправлень. Існує також відома збірка resin.io людей, але вона створена спеціально для Arch Linux.

Поточне ядро ​​Raspbian - це 3.10.25, що є досить сучасним, щоб мати більшість матеріалів, які потрібні Докеру. Я не над створенням нового ядра, але чи все-таки це потрібно?

Хтось придумав, як змусити Докера та його вимог піти?


Цікаве запитання. Мені також буде цікава відповідь на це. Ви спробували ці інструкції взагалі?
Стрибки

1
Ні, я прочитав усе, що міг знайти. Я спеціально прагну використовувати Raspbian, тому інструкції Arch не були дуже корисними. Інструкції щодо Raspbian Кена Кокрана здаються дуже старими, вимагаючи багатьох кроків, щоб навіть оновити Raspbian, не кажучи вже про Докер, і навіть не призвести до робочої установки. Я сподівався зібрати якусь інформацію, перш ніж витратити на неї тону часу.
Martijn Heemels

1
Одне, що я зрозумів, це те, що контейнери Docker насправді не є архітектурою. Оскільки контейнери поділяють ядро ​​з хост-ОС, програми всередині контейнерів пов'язані з архітектурою armv6. Ви не можете побудувати зображення докера на x86 та запустити його на armv6, що обмежує систему збирання. Там в базовий образ можна подивитися тут: index.docker.io/u/resin/rpi-raspbian
Мартейн Heemels

Так що можна, але не робити те, що ти хочеш?
Стрітення

1
Добре виглядає, що їхня претензія self-sufficient container that will run virtually anywhereне відповідає. Це здається, що він працює на чомусь, докер повинен бути сумісним із пристроєм, на якому він працює. Це звучить як Monoі Javaякі більш перспективні, але насправді не те, що потрібно. Навіщо вам це потрібно на Пі? Якщо ви розробляєте для Linux, вам слід реально розвиватися в тому, що він підтримує на самому світі.
Пьотр Кула

Відповіді:


14

Так, я створив ядро ​​і переніс Docker 1.0 до ОС Raspbian: Linux raspberrypi 3.10.37+ №1 PREEMPT Сбр 19, 13:28:05 UTC 2014 armv6l GNU / Linux

Я поділився своїми результатами на GitHub, щоб врятувати біль іншим. Як завжди, я забезпечив це "як є" без гарантії ;-)

Ви можете знайти файл tar-ядра та докер-файлу тут:

https://github.com/stevef1uk/docker_for_rpi


1
Це дуже цікаво. Дякую, що поділились. Не хотіли б ви додати кроки для компіляції ядра? Зокрема, які параметри ви змінили в конфігурації? Я збираюся спробувати створити власне ядро ​​через кроки, перелічені на elinux.org/RPi_Kernel_Compilation .
Martijn Heemels

3
Насправді я це вже зробив, як і як перетнути компіляцію. Ви можете знайти мої блоги тут: stevef1uk.blogspot.com/2014/06/… & stevef1uk.blogspot.com/2014/06/…
Seahope

7

Ви також можете використовувати HypriotOS, який надає останнє ядро ​​Docker та Linux для Raspberry Pi. Просто спалахніть зображення та побачте, як Docker працює та працює!

http://blog.hypriot.com/

(розголошення: я член команди Hypriot)


Дякую, використовуючи ваше нове зображення на моєму новому Pi2. Чудово працює! Я спробував це з різними зображеннями armhf від Docker Hub.
Martijn Heemels

1
@MathiasRenner Чи є причина, що гіпріот не є відкритим кодом? Ви плануєте монетизувати зображення?
jottr

1
@jottr Дякую за інтерес! Насправді, все, що потрібно від Hypriot, щоб запустити Docker на RPI, є відкритим джерелом. Вам потрібно (1) належне ядро ​​(github.com/hypriot/rpi-kernel-builder) та (2) двійковий файл Docker (github.com/hypriot/rpi-docker-builder). Просто складіть і встановіть обидва, і ви готові до роботи!
Матіас Реннер

@MathiasRenner ах чудово! Thx для покажчиків.
jottr

Це також добре працює на Raspbian Jessie; blog.hypriot.com/post/your-number-one-source-for-docker-on-arm
Арьян

3

Якщо ви використовуєте Raspbian:

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install docker.io docker

Докер зараз знаходиться у сховищі за замовчуванням,

Оновлення : на жаль, ця версія досить стара, тому натягувати зображення з Docker Hub наразі не вийде.


Версія в репо за замовчуванням дуже стара, 1.3.3 на цей коментар. Він більше не працює з реєстром докера, що робить його здебільшого марним.
DriverDan

Домовились. Сподіваємось, пакет пакету в Raspbian буде оновлений незабаром, можливо, запит про помилку / функцію допоможе
Janghou

В тестовому сховищі Raspbian є 1.8.3 (жовтень 2015 року).
nphx

Дивіться blog.hypriot.com/post/your-number-one-source-for-docker-on-arm для Docker 1.10 на програмі Raspbian Jessie.
Ар'ян

3

Docker підтримує ARMv6 / v7 і навіть ARM64 (v8?), Тому ви можете запустити його на вашому Raspberry Pis.

Дотримуйтесь офіційних інструкцій від Docker тут: https://docs.docker.com/engine/installation/linux/docker-ce/debian/

Якщо у вас є Raspbian Jessie або Stretch (перегляньте вищевказану документацію для інших), це буде:

$ sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
$ curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -
$ echo "deb [arch=armhf] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
     $(lsb_release -cs) stable" | \
     sudo tee /etc/apt/sources.list.d/docker.list
$ sudo apt-get update; sudo apt-get install docker-ce
$ sudo systemctl start docker

Потім ви можете протестувати його (завдяки підтримці мультиарха Docker):

$ sudo docker run --rm hello-world

Щоб уникнути введення sudoдля кожного виклику Docker, ви можете виконати наступні додаткові кроки: https://docs.docker.com/engine/installation/linux/linux-postinstall/

Насолоджуйтесь!

PS: Я встановив Ubuntu Server 16.04 для armhf. Потім я дотримувався цих інструкцій (для Ubuntu), щоб встановити Docker на ньому: https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#set-up-the-repository . Це також працює як шарм.


2

Я завжди використовував ...

curl -sSL https://get.docker.com | sh && sudo usermod -aG docker pi

Однак я щойно побачив повідомлення про депресію сьогодні вранці ...

WARNING: raspbian is no longer updated @ https://get.docker.com/
         Installing the legacy docker-engine package...

Я теж це помітив - ти знаєш, що це означає? Які наслідки цього мають?
davidA

Це означає, що це працює сьогодні, але завтра, ймовірно, не працюватиме. Це також означає, що ви повинні написати в проект moby (тобто люди, які підтримують докер), сказати їм, наскільки це приголомшливо, і попросити, щоб вони продовжували його підтримувати. : D
Зак

Чи знаєте ви, чи є альтернатива? Імовірно, я завжди міг повернутися до процесу ручної установки на Raspbian?
davidA

Ні, я не знаю. Однак проект Moby повинен мати можливість відповісти на це питання.
Зак

Дякую, я простягаюся. Мені б не хотілося бачити, як Докер зникає з розп’яну - дивовижні мікросервіси через Docker на RPi - це дивовижно ...
davidA
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.