Il semble que Docker prend désormais en charge Raspberry Pi (Raspbian Jessie). Référence: Git --docker / docker --Add support pour installer Docker sur raspbian / jessie # 24815
J'ai essayé L Chika en utilisant Docker, je vais donc résumer la procédure. Référence: Get Started with Docker 1.12 on Raspberry Pi
Raspberry Pi 3 MODEL B Mac (utilisé par défaut pour Raspberry Pi)
Tout d'abord, préparez une image pour l'installation sur la carte SD. Cette fois, nous utiliserons Raspbian Jessie, alors téléchargez la dernière version de l'image depuis ici.
Décompressez le fichier zip Raspbian Jessie téléchargé.
$ tar zxvf 2016-05-27-raspbian-jessie.zip
x 2016-05-27-raspbian-jessie.img
De là, nous installerons l'image sur la carte SD. Tout d'abord, vérifiez la carte SD sur laquelle vous souhaitez installer l'image.
$ df -ah
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk1s1 30Gi 2.5Mi 30Gi 1% 0 0 100% /Volumes/UNTITLED
Formatez la carte SD avec 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
Démontez la carte SD.
$ diskutil unmountDisk /dev/disk1
Unmount of all volumes on disk1 was successful
Écrivez l'image que vous avez préparée précédemment sur la carte SD.
$ 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)
La carte SD est maintenant prête!
Insérez la carte SD que vous avez préparée précédemment dans le Raspberry Pi et mettez l'appareil sous tension. Une fois le Raspberry Pi démarré, connectez-vous avec SSH. Pour l'adresse IP du Raspberry Pi, entrez celle confirmée à partir du journal PING ou DHCP.
$ ssh pi@<Adresse IP du Raspberry Pi>
Définissez une adresse IP fixe comme paramètre initial.
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
C'est le sujet principal! Installez Docker sur 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
(réduction)
+ 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 a été installé. La version est la 1.12.1.
Essayez de démarrer raspbian: jessie en tant qu'essai.
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:/#
Ça a commencé!
Puisqu'il s'agit d'un Raspberry Pi, j'essaierai L-Chika du conteneur.
Connectez le Raspberry Pi et la LED. J'ai connecté la LED au Raspberry Pi comme indiqué dans le schéma de circuit.
Citation: [Premiers pas avec Docker 1.12 sur Raspberry Pi](http://blog.alexellis.io/getting-started-with-docker-on-raspberry-pi/)Préparez le contenant et programmez. Tout d'abord, concernant les conteneurs, L Chika accède à / dev / mem, donc je pense qu'il y a deux façons de démarrer le conteneur.
Démarrez le conteneur avec l'option * privilégiée → Décrivez ici
Il n'est pas nécessaire de restreindre l'accès à l'appareil, alors démarrez le conteneur avec l'option privilégiée.
pi@raspberrypi:~ $ sudo docker run -ti --privileged resin/rpi-raspbian:jessie /bin/bash
root@3bfcfa574e1e:/#
Cette fois, j'utiliserai rpi.gpio de python pour L-Chika. Installez les packages et bibliothèques requis.
root@3bfcfa574e1e:/# apt-get update
root@3bfcfa574e1e:/# apt-get install python python-pip python-dev gcc make vim
root@3bfcfa574e1e:/# pip install rpi.gpio
Créez un programme qui fait clignoter la LED.
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)
Exécutez le programme.
root@3bfcfa574e1e:/# python chikachika.py
Il scintillait.
Avec Docker, vous pouvez préparer rapidement un bel environnement, j'ai donc pensé qu'il aurait une forte affinité avec Raspberry Pi.
Recommended Posts