Es scheint, dass Docker jetzt Raspberry Pi (Raspbian Jessie) unterstützt. Referenz: Git --docker / docker - Unterstützung für die Installation von Docker auf raspbian / jessie # 24815 hinzufügen
Ich habe L Chika mit Docker ausprobiert, daher werde ich das Verfahren zusammenfassen. Referenz: Erste Schritte mit Docker 1.12 auf Raspberry Pi
Raspberry Pi 3 MODEL B Mac (standardmäßig für Raspberry Pi verwendet)
Bereiten Sie zunächst ein Image für die Installation auf der SD-Karte vor. Dieses Mal werden wir Raspbian Jessie verwenden. Laden Sie daher die neueste Version des Bildes von [hier] herunter (https://www.raspberrypi.org/downloads/raspbian/).
Entpacke die heruntergeladene Raspbian Jessie Zip-Datei.
$ tar zxvf 2016-05-27-raspbian-jessie.zip
x 2016-05-27-raspbian-jessie.img
Von hier aus installieren wir das Image auf der SD-Karte. Überprüfen Sie zunächst die SD-Karte, auf der Sie das Image installieren möchten.
$ df -ah
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk1s1 30Gi 2.5Mi 30Gi 1% 0 0 100% /Volumes/UNTITLED
Formatieren Sie die SD-Karte mit FAT32.
$ diskutil eraseDisk FAT32 RPI /dev/disk1
Started erase on disk1
Unmounting disk
Creating the partition map
Waiting for the disks to reappear
Formatting disk1s2 as MS-DOS (FAT32) with name RPI
512 bytes per physical sector
/dev/rdisk1s2: 62501024 sectors in 1953157 FAT32 clusters (16384 bytes/cluster)
bps=512 spc=32 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=411648 drv=0x80 bsec=62531584 bspf=15260 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk1
Hängen Sie die SD-Karte aus.
$ diskutil unmountDisk /dev/disk1
Unmount of all volumes on disk1 was successful
Schreiben Sie das zuvor vorbereitete Bild auf die SD-Karte.
$ sudo dd bs=1024m if=2016-05-27-raspbian-jessie.img of=/dev/rdisk1
Password:
3+1 records in
3+1 records out
4019191808 bytes transferred in 440.337320 secs (9127529 bytes/sec)
Die SD-Karte ist jetzt fertig!
Legen Sie die zuvor vorbereitete SD-Karte in den Raspberry Pi ein und schalten Sie das Gerät ein. Stellen Sie nach dem Start des Raspberry Pi eine Verbindung mit SSH her. Geben Sie als IP-Adresse von Raspberry Pi die aus dem PING- oder DHCP-Protokoll bestätigte IP-Adresse ein.
$ ssh pi@<IP-Adresse von Raspberry Pi>
Stellen Sie eine feste IP als Grundeinstellung ein.
pi@raspberrypi:~ $ sudo vi /etc/dhcpcd.conf
interface eth0
static ip_address=192.168.0.11/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
Dies ist das Hauptthema! Installieren Sie Docker auf Raspberry Pi.
pi@raspberrypi:~ $ curl -sSL https://get.docker.com/ | sh
+ sudo -E sh -c mkdir -p /etc/systemd/system/docker.service.d
+ sudo -E sh -c echo '[Service]\nExecStart=\nExecStart=/usr/bin/dockerd --storage-driver overlay -H fd://' > /etc/systemd/system/docker.service.d/overlay.conf
+ sudo -E sh -c sleep 3; apt-get update
Get:1 http://archive.raspberrypi.org jessie
(Kürzung)
+ sudo -E sh -c docker version
Client:
Version: 1.12.1
API version: 1.24
Go version: go1.6.3
Git commit: 23cf638
Built: Thu Aug 18 05:31:15 2016
OS/Arch: linux/arm
Server:
Version: 1.12.1
API version: 1.24
Go version: go1.6.3
Git commit: 23cf638
Built: Thu Aug 18 05:31:15 2016
OS/Arch: linux/arm
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker pi
Remember that you will have to log out and back in for this to take effect!
Docker wurde installiert. Die Version ist 1.12.1.
Versuchen Sie, Raspbian: Jessie als Test zu starten.
pi@raspberrypi:~ $ sudo docker run -ti resin/rpi-raspbian:jessie /bin/bash
Unable to find image 'resin/rpi-raspbian:jessie' locally
jessie: Pulling from resin/rpi-raspbian
2c21a521f21e: Pull complete
d99cff50dc11: Pull complete
c1c51ee47f0b: Pull complete
e8b3c50e8e7e: Pull complete
a3ed95caeb02: Pull complete
7f56c2fb9a9c: Pull complete
75010306b0df: Pull complete
8837443d430d: Pull complete
23dd9b04a2ec: Pull complete
Digest: sha256:b6aef386a6da25bfbcba0e14a748e5473ff798233155fad960ae08fa4c94b146
Status: Downloaded newer image for resin/rpi-raspbian:jessie
root@f94112ff9ddc:/#
Es hat begonnen!
Da es sich um einen Raspberry Pi handelt, werde ich L-Chika aus dem Container probieren.
Verbinden Sie den Raspberry Pi und die LED. Ich habe die LED wie im Schaltplan gezeigt an den Raspberry Pi angeschlossen.
Bereiten Sie den Container und das Programm vor. In Bezug auf Container greift L Chika zunächst auf / dev / mem zu. Ich denke, es gibt zwei Möglichkeiten, den Container zu starten.
Starten Sie den Container mit der Option * privilegiert → Beschreiben Sie hier
Der Zugriff auf das Gerät muss nicht eingeschränkt werden. Starten Sie den Container daher mit der privilegierten Option.
pi@raspberrypi:~ $ sudo docker run -ti --privileged resin/rpi-raspbian:jessie /bin/bash
root@3bfcfa574e1e:/#
Dieses Mal werde ich rpi.gpio von Python für L-Chika verwenden. Installieren Sie die erforderlichen Pakete und Bibliotheken.
root@3bfcfa574e1e:/# apt-get update
root@3bfcfa574e1e:/# apt-get install python python-pip python-dev gcc make vim
root@3bfcfa574e1e:/# pip install rpi.gpio
Erstellen Sie ein Programm, das die LED blinkt.
chikachika.py
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
led_pin = 17
GPIO.setup(led_pin, GPIO.OUT)
while(True):
GPIO.output(led_pin, GPIO.HIGH)
time.sleep(1)
GPIO.output(led_pin, GPIO.LOW)
time.sleep(1)
Führen Sie das Programm aus.
root@3bfcfa574e1e:/# python chikachika.py
Es flackerte.
Mit Docker können Sie schnell eine schöne Umgebung vorbereiten, sodass ich der Meinung war, dass sie eine hohe Affinität zu Raspberry Pi haben würde.
Recommended Posts