Met behulp van Docker op de Raspberry Pi (4 / 5 stap)

Stap 4: Maak onze Docker beelden


Laat een afbeelding die is gebaseerd op de verdeling van Raspbian Jessie. Hoewel onze Pi is geconfigureerd met Arch Linux, kunt wij elk ander framboos-gebaseerd besturingssysteem gebruiken als de basisafbeelding voor onze service. Ik zal de instructies van Adafuit NodeJS Embedded Development.

Het idee achter Docker is het creëren van beelden die kunnen worden gereproduceerd op elk gewenst moment. Aangezien het project NodeJS gebruikt, kunt een afbeelding NodeJS net voor de Raspberry Pi maken. Later maken we het programma in een andere afbeelding van Docker die zal worden gebaseerd op deze afbeelding.

Knooppunt JS afbeelding

Maak een nieuwe map met de naam "rpi-nodejs" en veranderen in het. Maak nu een bestand met de naam "Dockerfile" met de volgende inhoud:

 <p>FROM resin/rpi-raspbian:jessie<br>MAINTAINER vipercmd<br> RUN echo "deb <a href="http://apt.adafruit.com/raspbian/" rel="nofollow"> http://apt.adafruit.com/raspbian/ </a> wheezy main" >> /etc/apt/sources.list && \ apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes node && \ apt-get clean</p> 

Docker moet worden geïnstrueerd om te lezen dit Dockerfile en maak een afbeelding. Dit wordt gedaan met de volgende opdracht:

 $ docker build -t rpi-nodejs . 

Dit zal bouwen een NodeJS afbeelding op basis van de inhoud van de huidige "." directory. De afbeelding zal worden genoemd "rpi-nodejs"

Deze instructies zijn hetzelfde als de Adafruit documentatie met sommige snelkoppelingen. In plaats van het gebruiken van krul te brengen in de repository van Adafruit, ik gewoon toegevoegd aan de sources.list. En ten slotte, zoals Docker beelden uit te als root voeren, de afbeelding niet vergt de GPIO-Admin project om een deel van de afbeelding. U kunt deze afbeelding zien in uw lokale Docker beeldbank:

 $ docker images<br>REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE<br>rpi-nodejs latest f9a415a3f49b 2 minutes ago 151.1 MB<br>resin/rpi-raspbian jessie f9b109c91ac9 3 months ago 119.7 MB 

Beeld van de toepassing

Laat nu een afbeelding die gebruikmaakt van onze nieuwe NodeJS afbeelding voor onze toepassing maken. Verder te gaan met de instructies we moeten installeren en NPM pakket en toevoegen van onze broncode.

Teruggaan naar de bovenliggende map voor "rpi-nodejs" en maak een nieuwe map met de naam "rpi-onoff" en veranderen in het. Eerst maakt u een nieuw bestand met de naam "test.js" met de volgende inhoud:

 // button is attaced to pin 17, led to 18<br>var GPIO = require('onoff').Gpio, led = new GPIO(18, 'out'), button = new GPIO(17, 'in', 'both');<br><br>// define the callback function function light(err, state) { // check the state of the button // 1 == pressed, 0 == not pressed if(state == 1) { // turn LED on led.writeSync(1); } else { // turn LED off led.writeSync(0); } }<br><br>// pass the callback function to the<br>// as the first argument to watch()<br>button.watch(light); 

En maak nu een ander bestand met de naam "Dockerfile" met de volgende inhoud:

 FROM rpi-nodejs<br>MAINTAINER vipercmd<br> RUN npm install onoff<br> WORKDIR /app ENTRYPOINT ["node", "/app/test.js"]<br> COPY test.js /app/ 

De eerste regel van de Dockerfile verklaart dat dit beeld zal worden gebaseerd op ons nieuw gecreëerde rpi-nodejs imago. Dit is een voorbeeld van hergebruik van gemeenschappelijke basis beelden voor verschillende projecten. Het voordeel is dat al uw toepassingsservice/afbeeldingen zijn gebaseerd op dezelfde bovenliggende.

De run lijn zal brengen in de afhankelijkheid voor onoff via de npm package manager.

Tot slot een map gemaakt in het beeld en het test.js script is gekopieerd naar het. Het ingangspunt vertelt Docker dat wanneer de afbeelding is uitgevoerd en aangebracht in een container in het test.js script met behulp van knooppunt uitvoeren.

Compileren en uitvoeren van deze afbeelding:

 $ docker build -t rpi-onoff .<br>$ docker run --privileged -d rpi-onoff 

De "bevoorrechte" optie moet worden opgegeven omdat dit beeld R/W heeft toegang nodig tot de GPIO pinnen. Nu dat de toepassing wordt uitgevoerd, drukt u op de knop en Bekijk de LED-turn in- en uitschakelen.

Gerelateerde Artikelen

Display met behulp van de Arduino en Raspberry Pi weer

Display met behulp van de Arduino en Raspberry Pi weer

Dit project is weer display systeem met behulp van 16 * 2 LCD-arduino, raspberry pi, internetDit bouwproject is zeer eenvoudig behoefte zeer minder vergaderingHet was het weer in een ware in wereld op 16 * 2 worden weergegeven, kunt u wat u wilt weer
Met behulp van Phidgets op een Raspberry Pi 2

Met behulp van Phidgets op een Raspberry Pi 2

Hallo Makers,In dit instructable ik zal u tonen hoe voor te bereiden op een Raspberry Pi2 gebruik met een Phidgets Interfacekit 8/8/8De producten van Phidgets kunt u op uw pc/pi/mac via de usb-poort aansluiten sensoren een actuatoren. De meeste van d
Met behulp van Google verspreiding in IoT projecten vellen

Met behulp van Google verspreiding in IoT projecten vellen

Voor de meeste Internet van ding project zijn we verplicht een wolk-databaseEr zijn vele IoT database aanbieders voorbeeld: amazon aws, Microsoft azure, In de meeste gevallen die zijn deze kosten gebaseerd, nuttig voor real-time projecten, wat ingewi
Controle op elk apparaat met behulp van een Raspberry Pi en een Relais module

Controle op elk apparaat met behulp van een Raspberry Pi en een Relais module

Het doel van deze ible is te laten zien hoe aan de slag met het opzetten van een Relais module op uw pi en onder controle. Mijn doel is om scripts toevoegen aan mijn octopussen op en uitschakelen LED-verlichting, maar hoe dan ook u wilt uiteindelijk
De Linkit met behulp van een Raspberry PI Program

De Linkit met behulp van een Raspberry PI Program

In dit instructable, ik ga u tonen hoe te programmeren van de Linktit een bord met behulp van een Raspberry Pi, en ook seriële communicatie met het vast te stellen. Dit instructable ziet u hoe u een micro-controller (één Linkit) en het werk van een m
2-Player Vewlix geïnspireerd Arcade kast met behulp van de Raspberry Pi 2

2-Player Vewlix geïnspireerd Arcade kast met behulp van de Raspberry Pi 2

In de eerste plaats wil ik zeggen dat de inspiratie voor deze bouwstijl te wijten aan ThereIs0nly0ne en zijn geweldige arcade kabinet is. Ik wist dat ik kon nooit een precies zoals zijn bouwen, ik ben niet dat geschoolde en ik heb geen een fatsoenlij
Een Raspberry Pi camera gebaseerde Microscoop met behulp van LEGO onderdelen

Een Raspberry Pi camera gebaseerde Microscoop met behulp van LEGO onderdelen

Een Raspberry Pi camera gebaseerde Microscoop, gebouwd net van LEGO onderdelen.Versie: 11 oktober 2015Inleiding en overzichtIkn het begin ik had het idee om het bouwen van een eenvoudige en goedkope microscoop met behulp van een raspberry pi en een p
Een weerbericht-weergave met behulp van knooppunt-rood en een Raspberry-Pi

Een weerbericht-weergave met behulp van knooppunt-rood en een Raspberry-Pi

Heb je gehoord over Knooppunt-rood ? Deze grafische tool wil helpen ontwikkelaars in hun missie om de draad van het Internet van dingen met Flow gebaseerde programmering.Ik keek een paar tutorials en demonstratie video's, om te begrijpen hoe vakken b
Controle van de Raspberry pi GPIO met behulp van een app

Controle van de Raspberry pi GPIO met behulp van een app

Veel mensen hebben gevraagd voor een zelfstudie over het beheren van de Raspberry pi GPIO pinnen met behulp van een app (je zelf gemaakt).Dus is hier een snelle tutorial over hoe om dit te doen. Het zal grotendeels worden gebaseerd op de vorige tutor
Digitaal kompas (HMC5883L) met de Raspberry Pi 2 met behulp van Python3 interfacing

Digitaal kompas (HMC5883L) met de Raspberry Pi 2 met behulp van Python3 interfacing

Aanvankelijk was ik bezig met een doolhof robot op te lossen. In plaats van met behulp van ultrasone en infrarood op Arduino Mega voor muur na, zoals mijn vrienden deed, probeer ik te doen iets anders met behulp van het kompas en de Raspberry Pi 2. D
Eenvoudig Project - besturingselement een LED-lampje met Python met behulp van een Raspberry Pi

Eenvoudig Project - besturingselement een LED-lampje met Python met behulp van een Raspberry Pi

Dit is de eenvoudigste Raspberry Pi GPIO LED-project ooit. Als u deze handleiding volgt moet duurt minder dan 20 minuten te installeren en te hebben uitgevoerd. Het doel van dit project is om een enkel LED licht knipperen gebaseerd op een Python prog
Met behulp van een toetsenbord met de Raspberry Pi

Met behulp van een toetsenbord met de Raspberry Pi

ik heb twee klavieren van Jameco.com die ik wilde gebruiken met mijn Raspberry Pi.  Blijkt dat het is vrij eenvoudig, zo lang als je weet wat de pinout structuur is voor het toetsenbord.Dit instructable brengt u door de stappen die ik moest doorlopen
Verbinding maken met de Raspberry Pi om te netwerken met behulp van de UART

Verbinding maken met de Raspberry Pi om te netwerken met behulp van de UART

In deze tutorial zal ik u tonen hoe je Raspberry Pi verbinden met het Internet gewoon met behulp van de seriële lijn die toegankelijk is op de GPIO. Dit kan zeer nuttig zijn als er geen andere methode van verbinding beschikbaar, zoals ethernet of wif
Maak een VU Meter en disco geleid met behulp van Raspberry Pi Visual Programming

Maak een VU Meter en disco geleid met behulp van Raspberry Pi Visual Programming

maken van een simpele muziekspeler met een VU-Meter en een disco licht. Hebt u nodig:-10 LEDS-Een Raspberry Pi model B-breadboard-1 RGB LED-10 220 Ohm weerstanden-jumper dradenU kunt programmeren met behulp van Wyliodrin op www.wyliodrin.com.