Taula de continguts:
- Pas 1: per què Docker?
- Pas 2: Docker Overhead
- Pas 3: instal·leu Docker
- Pas 4: Construir la imatge Docker
- Pas 5: desenvolupament de la velocitat de construcció contra la mida de la imatge
- Pas 6: imatges de múltiples arcs
- Pas 7: Feliç RPi
Vídeo: Construeix la imatge Docker per a Raspberry Pi: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Aquest instructable mostra com construir una imatge Docker per a Raspberry Pi.
Pas 1: per què Docker?
Podeu utilitzar Raspberry Pi (RPi) per fer moltes coses, petit servidor web, assistent d’IA, robòtica … etc.
Voleu provar molts projectes, però els punts dolorosos són:
Temps per construir
El RPi no està interessat en la potència de processament i la unitat SD / USB limita la velocitat d'E / S. Utilitzar el paquet apt install all dependency requereix una hora i la creació de la font requereix més hores. Especialment per a projectes relacionats amb la intel·ligència artificial, temps per esperar més que temps per provar-ho.
Conflicte de versions
Tothom prova molts projectes en un mateix RPi. Quan hàgiu provat un projecte i vulgueu canviar a un altre, és possible que trobeu algun error de compilació causat per un conflicte de versió de les biblioteques de dependències amb el projecte anterior. Algunes biblioteques deixen de desenvolupar-se fa uns anys i depenen d’algunes biblioteques molt antigues. En canvi, el projecte actiu depenia de les darreres biblioteques. Tots dos projectes no poden coexistir a la mateixa unitat SD / USB ?.
Còpia de seguretat de la imatge
Com que alguns projectes no poden coexistir, només heu de comprar més unitat SD / USB per mantenir dependents cada imatge del projecte. Si els diners no estan limitats ?. Però augmenta les dificultats de la gestió d’arxius / imatges, de vegades cal canviar SD / USB i arrencar moltes vegades per saber què voleu.
Difícil de compartir
Quan hàgiu creat el projecte i vulgueu compartir la font amb els vostres amics, és possible que els vostres amics recuperin el feed que ha fallat. Versió de distribució / biblioteques massa antiga o massa nova, amb paràmetres de construcció i alguns trucs. Necessiteu aprofitar el temps per resoldre altres problemes de construcció, però no suporteu el projecte en si.
Els punts de dolor anteriors són la meva experiència en aquests anys. Docker pot ajudar-ne la major part.
Docker comença a construir a partir de la selecció d’una imatge pare predefinida. Per exemple. debian: jessie-slim parteix d'una antiga distribució estable de pes lleuger de Debian; node: 10-buster-slim inici des de la distribució lleugera de Debian amb Node.js 10 instal·lat. La imatge preconstruïda pot estalviar molt de temps per fer flash, obtenir actualitzacions i instal·lar biblioteques dependents. Cada projecte pot començar des de diferents versions del sistema operatiu, versió d'execució i versió de les biblioteques. Quan hàgiu acabat de desenvolupar el vostre propi projecte, podeu empènyer la imatge de Docker a hub docker i compartir-la amb tothom. Podeu mantenir totes les dades del projecte al mateix SD / USB (les dades haurien de fer una còpia de seguretat de rutina a altres suports). Per estalviar emmagatzematge local, fins i tot podeu netejar la imatge de Docker quan no la feu servir, sempre que pugueu tornar a treure-la del concentrador de Docker.
Pas 2: Docker Overhead
Docker va afegir una capa de virtualització, la sobrecàrrega és una preocupació. No he provat massa sobre la sobrecàrrega de Docker. La majoria dels resultats de Google afirmen que els costos generals són molt baixos i he trobat aquest document sobre algunes investigacions relacionades:
domino.research.ibm.com/library/cyberdig.n…
Pas 3: instal·leu Docker
Simplement executeu:
curl -sSL https://get.docker.com | sh
Ref.:
www.raspberrypi.org/blog/docker-comes-to-…
docs.docker.com/get-started/
Pas 4: Construir la imatge Docker
Si us plau, trobeu la guia oficial sobre la imatge docker de l'edifici:
docs.docker.com/get-started/part2/
Tinc 2 projectes amb Docker, és possible que trobeu el fitxer Docker com a referència:
BanateCAD requereix temps d'execució Lua i algunes biblioteques Lua addicionals. Només Lua 5.1 pot ser compatible amb totes les biblioteques Lua necessàries, però és el producte del 2006. L'última distribució de Debian que pot generar l'èxit de Lua 5.1 és Jessie (La versió anterior a l'antiga estable estable de Debian). Així que vaig crear un entorn Lua 5.1 Docker Image per executar-lo
github.com/moononournation/BanateCAD/tree/…
OpenCV és un projecte en desenvolupament actiu, el codi font depèn de les darreres biblioteques i compilador. Per tant, és molt probable que es construeixi un error, que la signatura del mètode de les biblioteques, la versió del compilador, el conflicte de dependències … M'agradaria utilitzar opencv4nodejs per crear una aplicació senzilla i no requereixen les darreres funcions. Per tant, quan vaig trobar una manera d’obtenir l’èxit d’opencv4nodejs, m’agradaria congelar-lo a Docker Image i fer la codificació de la meva aplicació real
github.com/moononournation/face-aware-phot…
Pas 5: desenvolupament de la velocitat de construcció contra la mida de la imatge
És possible que el meu projecte face-aware-photo-osd tingui dues versions de Dockfile:
github.com/moononournation/face-aware-phot…
Mentre es desenvolupa, m'agrada dividir l'ordre RUN el més petit possible i organitzar el més probable que canviï l'ordre RUN al darrer pas. Per tant, per a cada canvi de desenvolupament per a la construcció, puc utilitzar la capa de construcció anterior tant com sigui possible i estalviar molta velocitat de construcció.
En canvi, combinaré totes les ordres RUN en una abans de la versió. una capa inferior pot reduir molt la mida de la imatge Docker. El meu projecte de foto-osd sensible a la cara, per exemple, pot reduir més de 100 MB de mida.
Pas 6: imatges de múltiples arcs
Com es va esmentar abans, RPi no és capaç de processar. Utilitzar la imatge Docker de compilació de RPi pot no ser una bona opció, especialment quan el vostre únic RPi està executant un altre projecte.
Utilitzar un ordinador x86 també us pot ajudar a crear la imatge Docker. Trobareu més detalls aquí:
www.docker.com/blog/multi-arch-images/
2 ordres simples poden construir x86 i ARM Docker Image en paral·lel:
docker buildx create --use
docker buildx build --platform linux / amd64, linux / arm -t moononournation / debian-imagemagick-lua-meshlab: 1.0.1 --push.
Multi Arch pot crear imatges de múltiples plataformes amb la mateixa etiqueta d’imatge Docker, de manera que el vostre projecte es pot executar en diferents equips sense problemes. per exemple.
docker run -it moononournation / debian-imagemagick-lua-meshlab: 1.0.1
No importa si executeu l'ordre anterior a RPi o al vostre equip x86, podeu obtenir un entorn d'execució Lua.
Pas 7: Feliç RPi
Ara podeu desenvolupar i compartir el vostre projecte RPi més fàcilment.
Recomanat:
Interessants pautes de programació per al dissenyador: feu que la vostra imatge funcioni (segona part): 8 passos
Interessant guia de programació per a dissenyadors: feu que la vostra imatge funcioni (segona part): les matemàtiques, per a la majoria de vosaltres, semblen inútils. El més utilitzat a la nostra vida quotidiana és simplement sumar, restar, multiplicar i dividir. No obstant això, és molt diferent si podeu crear-lo amb el programa. Com més sàpiga, més meravellós serà el resultat
Com fer una imatge de perfil increïble per al vostre Chromebook: 9 passos
Com fer una imatge de perfil increïble per al vostre Chromebook: hola a tothom. Es tracta de Gamer Bro Cinema i, avui, us ensenyarem a fer una foto de perfil de YouTube increïble per al vostre canal de YouTube. Aquest tipus de fotografia de perfil només es pot fer en un Chromebook. Comencem
Prova de la imatge per a color i claredat: 8 passos
Proves d’imatges per a color i claredat: he fet aquest instructiu per a mi; per millorar el meu Instructables, però, tinc la intenció de compartir el que he trobat. He notat que algunes de les imatges que penjo a Instructabes surten perfectes i altres imatges amb una claredat més baixa, una mica descolorides o difuses. No ho sé
Poseu una imatge per al vostre compte: 4 passos
Posa una imatge per al teu compte: mostraré a alguns de vosaltres que necessiteu ajuda per afegir una imatge com a avatar o per a la vostra instrucció. Aquí teniu algunes instruccions pas a pas sobre com fer-ho. Si us plau, no dubteu a afegir comentaris i alguns consells per fer-ho. Baix
Com es construeix una caixa d’altaveus per a guitarra o se’n construeixen dos per al vostre equip de música: 17 passos (amb imatges)
Com es construeix una caixa d’altaveus per a guitarra o se’n construeixen dos per al vostre equip estèreo: volia un altaveu de guitarra nou amb l’ampli de tub que estic construint. L’altaveu quedarà fora de la meva botiga, de manera que no cal que sigui res especial. És possible que la coberta de Tolex es faci malbé massa fàcilment, de manera que acabo de ruixar la part exterior de negre després d’una sorra clara