de Ryan Gordon

Modul ușor de a configura Docker pe un Raspberry Pi

Docker este un instrument foarte util pentru a rula versiuni containerizate ale aplicațiilor populare (cum ar fi bazele de date) sau pentru a configura un serviciu IoT pe un dispozitiv conectat la internet.

Dar instalarea Docker poate fi uneori dificilă dacă trebuie făcută de mai multe ori pe diferite computere. Căptușeala argintie, totuși, este că există un truc la îndemână ascuns în documentele Docker care detaliază cum să instalați Docker cu doar două linii în terminal.

Modul usor de a configura Docker pe un Raspberry Pi

Da, ai auzit bine! Cu doar două linii puteți încărca și instala Docker.

Instalarea Docker poate fi gestionată de un script bash care va automatiza întreaga instalare. Docker oferă un astfel de script la get.docker.com . Prima comandă va consuma această adresă URL, căutând un fișier numit get-docker.sh . Odată obținut, doar rulăm scriptul. Cele două comenzi pot fi înlănțuite împreună pentru a forma o declarație precum:

curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh

Acum aveți instalat Docker, iar instalarea a durat doar două linii.

După cum tocmai ați văzut, cele două comenzi de mai sus sunt înlănțuite folosind operatorul „&&”. Aceasta înseamnă că comenzile vor rula una după alta, dar pot fi tastate pe aceeași linie.

O mică problemă, totuși, este că s-ar putea să întâmpinați dificultăți în executarea comenzilor Docker fără sudo. Acest lucru poate fi remediat, dar va mai dura câteva linii.

Cum se configurează Docker pentru a rula fără a utiliza sudo tot timpul

Am descoperit această soluție pe AskUbuntu după ce a întâmpinat problema. Să o parcurgem acum.

Există 3 pași:

  1. Adăugați grupul Docker dacă nu există deja:
sudo groupadd docker

2. Adăugați utilizatorul conectat „$ USER” la grupul de andocare. Schimbați numele de utilizator pentru a se potrivi cu utilizatorul dvs. preferat dacă nu doriți să utilizați utilizatorul dvs. curent:

sudo gpasswd -a $USER docker

3. De aici aveți două opțiuni: fie deconectați-vă, apoi conectați-vă din nou sau rulați newgrp docker pentru ca modificările să aibă efect.

Acum ar trebui să puteți rula Docker fără sudo. Pentru a testa, încercați acest lucru:

docker run hello-world

Dacă a funcționat, ar trebui să vedeți un mesaj minunat de la Docker:

1612163288 181 Modul usor de a configura Docker pe un Raspberry Pi

Din nou, tot meritul pentru această soluție revine acestui lucru grozav AskUbuntu răspuns pe care l-am găsit. Fără să tastați sudo tot timpul, comenzile vor fi mult mai ușor de lucrat.

Dar așteaptă, mai sunt!

Ce se întâmplă dacă doriți și docker-compose? Puteți încerca să instalați sursa docker-compose în mod similar cu modul în care am instalat Docker. O abordare interesantă pe care am găsit-o în documentele Google Cloud Engines este că puteți rula chiar docker-compose ca container!

Acest lucru înseamnă că aveți o instalare de unică folosință a docker-compose, care va fi utilizată pentru a compune serviciile dvs. În orice moment, puteți să-l aruncați și să repetați pașii pentru un docker-compus proaspăt.

Primul pas va fi rularea docker-compose ca container și acordarea accesului la volume.

docker run     -v /var/run/docker.sock:/var/run/docker.sock     -v "$PWD:/rootfs/$PWD"     -w="/rootfs/$PWD"     docker/compose:1.13.0 up

Apoi, creați un alias pentru a compune docker:

echo alias docker-compose="'"'docker run     -v /var/run/docker.sock:/var/run/docker.sock     -v "$PWD:/rootfs/$PWD"     -w="/rootfs/$PWD"     docker/compose:1.13.0'"'" >> ~/.bashrc

Apoi reîncărcați bash:

source ~/.bashrc

Acum aveți acces complet la docker-compose. Aliasul definit mai sus înseamnă că, mai degrabă decât să tastați comenzi docker atunci când doriți să utilizați containerul de compunere, puteți utiliza doar „docker-compose” așa cum ați face în mod normal.

Notificare importantă despre Docker pe RPi

Raspberry Pi folosește arhitectura ARM și, ca urmare, nu va fi compatibilă cu toate containerele scoase din cutie. Imaginile vor trebui construite dintr-o imagine de bază ARM.

Puteți vedea acest lucru în acțiune rulând o instanță Redis containerizată pe un Raspberry Pi (ceea ce este destul de relevant pentru o serie viitoare pe care o scriu). Pentru a face acest lucru, va trebui să lucrați cu o imagine de bază. Cu condiția să utilizăm o imagine compatibilă cu ARM, nu ar trebui să apară probleme. Problema este găsirea unuia bine întreținută.

Dacă ți-a plăcut acest articol, dă-i din palme.

Am alte postări pe pagina mea legate de Microservicii, Ionic și multe altele.