Docker su Raspbian?


24

Come farei con Docker ( https://www.docker.io ) su Raspbian?

Le istruzioni che ho trovato sono o un processo molto manuale basato su Raspbian ma con un kernel molto vecchio che sembrava richiedere un sacco di patch. C'è anche la nota build della gente resin.io, ma è stata creata appositamente per Arch Linux.

Il kernel attuale di Raspbian è 3.10.25 che è abbastanza moderno da avere la maggior parte delle cose di cui Docker ha bisogno. Non sto costruendo un nuovo kernel, ma è ancora necessario?

Qualcuno ha capito come ottenere Docker e le sue esigenze in corso sul Pi?


Domanda interessante. Sarò anche interessato a una risposta a questo. Hai provato queste istruzioni?
Jivings,

1
No, ho letto tutto quello che ho potuto trovare. Sto specificamente cercando di utilizzare Raspbian, quindi le istruzioni Arch non sono state molto utili. Le istruzioni di Raspbian di Ken Cochrane sembrano molto vecchie, e richiedono molti passaggi per aggiornare Raspbian, per non parlare di Docker, e non portare nemmeno a una configurazione funzionante. Speravo di raccogliere alcune informazioni prima di passare un sacco di tempo su di esso.
Martijn Heemels,

1
Uno di questi che ho realizzato è che i container Docker non sono realmente architettura incrociata. Poiché i contenitori condividono il kernel con il sistema operativo host, le applicazioni all'interno dei contenitori sono associate all'architettura armv6. Non è possibile creare un'immagine docker su x86 ed eseguirla su armv6, il che pone delle limitazioni al sistema di compilazione. C'è una base-immagine disponibile qui: index.docker.io/u/resin/rpi-raspbian
Martijn Heemels

Quindi è possibile ma non fare quello che vuoi?
Jivings,

1
Beh, sembra che la loro richiesta non self-sufficient container that will run virtually anywheresia all'altezza. Sembra che funzioni su qualcosa, la finestra mobile deve essere compatibile con il dispositivo su cui è in esecuzione. Sembra Monoo Javache sono più promettenti, ma non proprio quello di cui hai bisogno. Perché hai bisogno di questo sul Pi in qualche modo? Se stai sviluppando per Linux, dovresti davvero sviluppare ciò che supporta in modo nativo.
Piotr Kula,

Risposte:


14

Sì, ho creato un kernel e portato Docker 1.0 sul sistema operativo Raspbian: Linux raspberrypi 3.10.37+ # 1 PREEMPT sab 19 apr 13:28:05 UTC 2014 armv6l GNU / Linux

Ho condiviso le mie uscite su GitHub per salvare il dolore degli altri. Come al solito, ho fornito questo "così com'è" senza alcuna garanzia ;-)

Puoi trovare il file tar del kernel e della finestra mobile qui:

https://github.com/stevef1uk/docker_for_rpi


1
È molto interessante. Grazie per la condivisione. Ti dispiacerebbe aggiungere i passaggi per compilare il kernel? In particolare, quali opzioni hai modificato nella configurazione? Sto per provare a costruire il mio kernel tramite i passaggi elencati su elinux.org/RPi_Kernel_Compilation .
Martijn Heemels,

3
In realtà, l'ho già fatto così come il modo di compilare. Puoi trovare i miei blog qui: stevef1uk.blogspot.com/2014/06/… & stevef1uk.blogspot.com/2014/06/…
Seahope

7

Puoi anche usare HypriotOS, che fornisce l'ultimo kernel Docker e Linux per Raspberry Pi. Basta mostrare l'immagine e vedere Docker attivo e funzionante!

http://blog.hypriot.com/

(divulgazione: sono un membro del team di Hypriot)


Grazie, usando la tua nuova immagine sul mio nuovo Pi2. Funziona alla grande! L'ho provato con una varietà di immagini armhf da Docker Hub.
Martijn Heemels,

1
@MathiasRenner c'è un motivo per cui l'ipriota non è open source? Stai pensando di monetizzare sull'immagine?
jottr

1
@jottr Grazie per il tuo interesse! In realtà, tutto da Hypriot necessario per eseguire Docker su RPI è di provenienza aperta. È necessario (1) un kernel appropriato (github.com/hypriot/rpi-kernel-builder) e (2) il file binario Docker (github.com/hypriot/rpi-docker-builder). Basta compilare e installare entrambi e sei pronto per partire!
Mathias Renner,

@MathiasRenner ah great! Grazie per i puntatori.
jottr,


3

Se usi Raspbian:

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

Docker è ora nel repository predefinito,

Aggiornamento : purtroppo questa versione è piuttosto vecchia, quindi al momento non è possibile eseguire il pull di immagini dall'hub Docker .


La versione nel repository predefinito è super vecchia, 1.3.3 a partire da questo commento. Non funziona più con il registro docker che lo rende per lo più inutile.
DriverDan

Concordato. Spero che il pacchetto in Raspbian venga aggiornato presto, forse una richiesta di bug / funzionalità aiuterà
Janghou

C'è 1.8.3 (ottobre 2015) nel repository di test di Raspbian.
nphx,


3

Docker supporta ARMv6 / v7 e persino ARM64 (v8?), Quindi puoi eseguirlo sul tuo Raspberry Pis.

Segui le istruzioni ufficiali di Docker qui: https://docs.docker.com/engine/installation/linux/docker-ce/debian/

Se hai Raspbian Jessie o Stretch (controlla la documentazione sopra per altri), questo sarebbe:

$ 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

È quindi possibile testarlo (grazie al supporto multiarch Docker):

$ sudo docker run --rm hello-world

Per evitare di digitare sudoper ogni invocazione Docker, è possibile eseguire i seguenti passaggi aggiuntivi: https://docs.docker.com/engine/installation/linux/linux-postinstall/

Godere!

PS: ho installato Ubuntu Server 16.04 per armhf. Ho quindi seguito queste istruzioni (per Ubuntu) per installare Docker su di esso: https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#set-up-the-repository . Funziona anche come un fascino.


2

Ho sempre usato ...

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

Tuttavia, ho visto un avviso di deprecazione stamattina ...

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

Ho appena notato anche questo: sai cosa significa? Che cosa implica ciò?
davidA

Significa che funziona oggi, ma probabilmente non funzionerà domani. Significa anche che dovresti scrivere al progetto moby (cioè le persone che mantengono il docker), dire loro quanto è fantastico e pregare loro di continuare a mantenerlo. : D
Zak,

Sai se c'è un'alternativa? Presumibilmente potrei sempre ricorrere al processo di installazione manuale su Raspbian?
davidA

No, non lo so. Tuttavia, il progetto Moby dovrebbe essere in grado di rispondere a questa domanda.
Zak,

Grazie, sto raggiungendo. Odierei vedere Docker scomparire da raspbian - eseguire microservizi tramite Docker su un RPi è incredibile ...
davidA
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.