Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Versuch und Irrtum]

Einführung

Mein Name ist Ryosuke Kamei und ich bin ein IT-Berater, der auf der Idee der "sanften IT" basiert! Derzeit mache ich in meiner Arbeit vorgelagerte Prozesse, die sich auf Anforderungsanalyse und Anforderungsdefinition konzentrieren, aber da ich auch andere Programme als mein Hauptgeschäft schreibe, werde ich technische Artikel schreiben! Im Rahmen unserer freundlichen IT-Aktivitäten werden wir die mit "Raspberry Pi 3" (allgemein bekannt als "Raspberry Pi 3") erstellten Waren- und Dienstleistungsprogramme vorstellen, die die Philosophie haben, "kostengünstige PCs bereitzustellen, die für Bildungszwecke programmiert werden können"!

Zweck

Erstellen Sie mit Docker auf Raspai eine Python-MySQL-Umgebung. Raspeye hatte es mit wenigen Bildern schwer, weil die Architektur sehr unterschiedlich ist. Zeichnen Sie zunächst den Prozess von Versuch und Irrtum auf. Wenn es funktioniert, werde ich die einfache Konstruktionsversion schreiben!

Architektonische Unterschiede

Da Raspai auf der armv7l-Architektur basiert, muss Docker auch ein Image verwenden, das auf der armv7l-Architektur basiert. Derzeit gibt es jedoch nur wenige.

Bei der Suche nach einem Bild von Raspeltorte

Bilder, die mit Raspeye verwendet werden können, haben "rpi-". Bitte beziehen Sie sich bei der Suche auf diese.

Inhaltsverzeichnis

  1. Vorbereitung
  2. Starten Sie hypriot / rpi-python
  3. Installieren Sie die für die Python3-Installation erforderlichen Bibliotheken
  4. Installieren Sie Python3
  5. Installieren Sie pip3
  6. Installieren Sie die für die Python-Entwicklung erforderlichen Tools
  7. Installationsfertige Flasche
  8. Überprüfen Sie, ob der Server ausgeführt wird
  9. Installieren Sie den MySQL-Treiber
  10. Erstellen Sie Daten in der Datenbank
  11. Legen Sie das Skript auf dem Anwendungsserver ab
  12. Starten Sie die Anwendung

1. Vorbereitung

Wenn Sie nicht über Docker oder eine Entwicklungsumgebung verfügen, lesen Sie bitte die folgenden Informationen. Wenn Sie Docker installiert haben, können Sie es überspringen!

1-1 Installieren Sie Dokcer

Weitere Informationen finden Sie unter Docker auf RaspberryPi3 installieren!

1-2. Bequeme Funktionen (SSH / VNC / AFP)

Es ist zweckmäßig, das folgende Kapitel von Raspberry Pi 3-Installation → WLAN → Japanische Ein- / Ausgabe → Betrieb vom Mac (SSH / VNC-Server / AFP) zu implementieren.

  1. Zugriff per SSH
  2. VNC-Einstellungen (Raspeye vom Mac mit GUI bedienen)
  3. AFP-Einstellungen (Zugriff auf das Raspai-Dateisystem auf dem Mac)

2. Starten Sie hypriot / rpi-python

Ein Pirat (lacht), der sich [Hypriot] nennt (https://hub.docker.com/u/hypriot/), liefert ein Bild für Raspeye, daher bin ich dankbar, es zu verwenden.

hypriot/rpi-Starten Sie Python und melden Sie sich mit bash an


sudo docker run -it hypriot/rpi-python /bin/bash

Wenn Sie darüber nachdenken, basiert dieses Bild auf Python 2.7 ... (Stand: 4. September 2016) Ich möchte es Python3-Serie machen, also installieren Sie es.

3. Installieren Sie die für die Python3-Installation erforderlichen Bibliotheken

Die übliche Magie (Bibliotheksupdates und Updates)


# apt-get update
# apt-get upgrade -y

Versuchen Sie, eine Bibliothek zu installieren, die anscheinend benötigt wird


# apt-get install -y vim
# apt-get install -y sudo
# apt-get install -y wget
# apt-get install -y git

4. Installieren Sie Python3

4-1. Installieren Sie die für die Python3-Installation erforderlichen Bibliotheken.

Installieren Sie die für die Python3-Installation erforderlichen Bibliotheken


# apt-get install -y build-essential libncursesw5-dev libgdbm-dev libc6-dev zlib1g-dev libsqlite3-dev tk-dev libssl-dev openssl libbz2-dev libreadline-dev

4-2 Installieren Sie Python3

Python3 wird aus dem Quellcode kompiliert. (Ich habe zum ersten Mal seit 10 Jahren wegen der Python3-Installation make and make install berührt.)

Laden Sie die Python 3-Quelle herunter


# wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz

Extrahieren Sie das komprimierte Python-3.5.2.tgz mit tar.

bash:Python-3.5.2.Erweitern Sie tgz


# tar xvf Python-3.5.2.tgz 

Bewegung

Bewegung


# cd Python-3.5.2

Mit make installieren. (Es braucht Zeit)

Mit make installieren


# ./configure && make && make install

Überprüfen Sie, wann die Installation abgeschlossen ist.

Bestätigen Sie die Python3-Installation


# python3 -V

5. Installieren Sie pip3

Installieren Sie pip3


# apt-get install -y python3-pip

Upgraded pip3


# pip3 install --upgrade pip

Bestätigen Sie die Installation von pip3


# pip3 -V

6. Installieren Sie die für die Python-Entwicklung erforderlichen Tools

Wenn Sie weitere Informationen wünschen, wenden Sie sich bitte an Herrn Google.

Aufbau einer virtuellen Entwicklungsumgebung virtualenv


# pip3 install virtualenv

Leichte Rahmenflasche


# pip3 install bottle

Python Interactive Mode Extension Ipython


# pip3 install ipython

Codierungsstil/Überprüfen Sie die Syntax flake8


# pip3 install flake8

7. Benutzer erstellen

Erstellen Sie Gruppen und Benutzer


# groupadd web
# useradd -d /home/bottle -m bottle

Melden Sie sich als erstellter Benutzer an


# su -m bottle
$ 

kein Problem!

8. Überprüfen Sie, ob der Server ausgeführt wird

Index mit vim.Erstellen Sie HTML (Benutzer ist Flasche)


$ vim index.html

index.html


<html>
<body>
Hallo Welt
</body>
</html>

Beginnen Sie mit einfachem HTTP


$ python3 -m http.server 8080
Serving HTTP on 0.0.0.0 port 8080 ...

Zugriff mit einem Browser ラズパイとDocker.png

9. Installieren Sie den MySQL-Treiber

Laden Sie mysql-connector-python mit Git-Klon herunter

Git-Klon


# git clone https://github.com/mysql/mysql-connector-python.git

Bewegung


# cd mysql-connector-python

Erstellen und installieren


# python3 ./setup.py build
# python3 ./setup.py install

10. Erstellen Sie Daten in der Datenbank

Beenden Sie den Anwendungsserver einmal. Geben Sie Control + P, Control + Q ein.

Melden Sie sich beim Datenbankserver an. Wenn es bereits ausgeführt wird, melden Sie sich mit dem folgenden Befehl an.

Melden Sie sich beim Datenbankserver an


pi@raspberrypi $ sudo docker exec -it {Name des Datenbankserver-Containers}

Melden Sie sich bei MySQL an


mysql_server # mysql -u{Nutzername} -p
(Passwort eingeben)

Zugriff auf Datenbank (vorausgesetzt, sie existiert bereits)


mysql> use sample;

Tabelle erstellen


mysql>
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Daten einfügen


mysql>
INSERT INTO `users` (`id`, `name`) VALUES (1, 'pyhons');

Beenden Sie MySQL


mysql> quit;

Beenden Sie den Datenbankcontainer


mysql_server # (Contrl + p, Control + q)

11. Legen Sie das Skript auf dem Anwendungsserver ab

Melden Sie sich beim Anwendungsserver an


pi@raspberrypi $ sudo docker exec -it {Name des Anwendungsserver-Containers}

An einen geeigneten Ort bringen


# cd /home/bottle

server.Erstellen Sie py


# vim server.py

server.py


from bottle import route, run
#MySQL-Treiber ist MySQL.connector
import mysql.connector
#Die IP-Adresse des Hosts lautet$ docker inspect {Name des Datenbankcontainers}Finden Sie es heraus in
#MySQL-Benutzer, Passwörter und Datenbanken sind Docker-compose.Was wurde mit yml eingestellt
connector = mysql.connector.connect(
            user='python',
            password='python',
            host='178.10.0.3', #IP-Adresse des Datenbankservers
            database='sample'  #Datenbank erstellt
)

cursor = connector.cursor()
cursor.execute("select * from users")

disp = ""
for row in cursor.fetchall():
    disp = "ID:" + str(row[0]) + "Name:" + row[1]

cursor.close
connector.close
			
@route('/hello')
def hello():

    return "Erhalten von DB"+disp

run(host='0.0.0.0', port=8080, debug=True, reloader=True)

12. Starten Sie die Anwendung

Anwendungsstart


# /usr/local/bin/python3 /home/bottle/server.py

Beim Öffnen in einem Browser スクリーンショット 2016-09-04 14.18.55.png

Im nächsten Artikel werde ich versuchen, es auf einmal mit Dockerfile und dokcer-compose.yml zu starten. (Ist es groß? Ist es groß?)

Seitenverzeichnis

Raspberry Pi 3 Setup

Raspberry Pi 3-Installation → WLAN → Japanische Ein- / Ausgabe → Betrieb vom Mac

Erstellen Sie mit Docker eine Python + MySQL-Umgebung auf Raspberry Pi 3!

Docker auf RaspberryPi3 installieren Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung![Einfache Konstruktion] Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung![Versuch und Irrtum]

Machen Sie einen in die Klimaanlage integrierten PC "airpi" mit Raspberry Pi 3!

Machen Sie einen in die Klimaanlage integrierten PC "airpi" mit Raspberry Pi 3!

Endlich ... Erstellen Sie einen Funkcontroller mit Python auf Raspberry Pi 3!

Motor bewegt sich beim Drücken der Taste Motor bewegt sich, während der Magnet näher gebracht wird Der Motor bewegt sich, wenn der Magnet näher gebracht wird und stoppt automatisch

Lass uns mit Raspberry Pi 3 und Python Record of Raspberry kämpfen

Programmieren mit Node-RED-Programmieren mit Raspberry Pi 3 und normaler Programmierung Beleuchten Sie die LED mit Python auf Raspberry Pi 3 (Hello World) Schalterstatus mit Raspberry Pi 3 erkennen Führen Sie einen Servomotor mit Python auf Raspberry Pi 3 aus Steuern Sie den Motor mit einem Motortreiber mit Python auf Raspberry Pi 3! Erkennen Sie den Schiebeschalter mit Python auf Raspberry Pi 3! Erkennen Sie Magnetschalter mit Python auf Raspberry Pi 3! Ermitteln Sie die Temperatur mit Python auf Raspberry Pi 3! Raspberry Pi 3 verwendet Python, um den Summer zu ertönen! Analoge Signale mit A / D-Wandler mit Python auf Raspberry Pi 3 erkennen! Erkennen Sie "Helligkeit" mit Python auf Raspberry Pi 3! Ermitteln Sie "Temperatur (mit A / D-Wandler)" mit Python auf Raspberry Pi 3! Ausgabe auf "7 Segment LED" mit Python auf Raspberry Pi 3! Verwenden Sie Python auf Raspberry Pi 3, um die LED mit Schaltersteuerung zu beleuchten! Verwenden Sie Python auf Raspberry Pi 3 und schalten Sie die LED ein, wenn es dunkel wird!

Die Regeln konzentrierten sich auf die testgetriebene Entwicklung

Codierungsregeln "Schreiben wir sanften Code" (FuelPHP) Namensregeln "Freundlich zu sich selbst, teamfreundlich und unsichtbare Mitglieder nach 3 Monaten"

Entwicklung von Webanwendungen mit Docker + Python

Installieren Sie Python3 und verwandte Bibliotheken pip, virtualenv und Framework Django, Flasche, Flask unter CentOS auf Docker! Mit einer Docker-Datei, die diese zusammenfasst!

Einfach zu entwickelnde Umgebungskonstruktion (Docker + PHP)

PHP-Umgebung + Eclipse mit Docker mit Apache verknüpfen Erstellen einer PHP-Entwicklungsumgebung für Kraftstoff mit Docker Erstellen eines CRUD-Skeletts mit den Anfangseinstellungen der FuelPHP-Entwicklungsumgebung mit Docker und Scaffold Migration der FuelPHP-Datenbank

Recommended Posts

Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Versuch und Irrtum]
Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Einfache Konstruktion]
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Erstellen Sie eine 64-Bit-Python 2.7-Umgebung mit TDM-GCC und MinGW-w64 unter Windows 7
Erstellen Sie mit Anaconda und PyCharm eine Python-Umgebung auf Ihrem Mac
Erstellen Sie eine Python-Umgebung mit ansible auf centos6
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
So erstellen Sie eine Django (Python) -Umgebung auf Docker
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Erstellen Sie eine Python3-Umgebung unter CentOS7
Erstellen Sie mit Docker eine Jupyter Lab (Python) -Umgebung
Erstellen Sie Python 3 und OpenCV unter Ubuntu 18.04
Erstellen Sie eine Python-Umgebung unter MacOS (Catallina)
Ein Memo mit Python2.7 und Python3 in CentOS
Holen Sie sich Daten von VPS MySQL mit Python 3 und SQL Alchemy
Erstellen Sie eine Python-Umgebung mit Anaconda auf einem Mac
[Linux] Erstellen einer Jenkins-Umgebung mit Docker
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Erstellen Sie eine Python + OpenCV-Umgebung in Cloud9
Erstellen Sie mit Neovim eine moderne Python-Umgebung
Erstellen Sie mit Docker eine Umgebung aus NGINX + NGINX Unit + MySQL
[Linux] Aufbau einer Docker-Umgebung mit Amazon Linux 2
[DynamoDB] [Docker] Erstellen Sie mit Docker-Compose eine Entwicklungsumgebung für DynamoDB und Django
Erstellen Sie mit Docker eine CentOS Linux 8-Umgebung und starten Sie Apache HTTP Server
Erstellen Sie eine Python3-Umgebung mit pyenv auf einem Mac und zeigen Sie NetworkX-Diagramme an
Erstellen Sie eine LAMP-Umgebung auf Ihrem lokalen Docker
Erstellen Sie mit pulumi eine WardPress-Umgebung auf AWS
Erstellen Sie eine Python-Umgebung mit pyenv auf EC2 (Ubuntu)
Erstellen einer Python-Umgebung mit virtualenv und direnv
Erstellen Sie einfach eine Python 3-Ausführungsumgebung unter Windows
Erstellen Sie eine Django-Umgebung auf Raspai (MySQL)
Erstellen Sie eine Python-Umgebung auf einem Mac (Mountain Lion)
Erstellen Sie mit Sublime Text3 eine Python3-Build-Umgebung
Erstellen Sie eine Python-Entwicklungsumgebung auf Ihrem Mac
Erstellen Sie eine virtuelle Umgebung mit pyenv und venv
Erstellen einer Python-Umgebung mit OSX Elcapitan
Erstellen Sie mit IntelliJ schnell eine Python Django-Umgebung
Erstellen Sie eine Python-Umgebung für maschinelles Lernen mit Containern
Erstellen Sie eine Python-Entwicklungsumgebung auf Raspberry Pi
Erstellen Sie eine Python-Ausführungsumgebung mit VS-Code
Erstellen Sie eine Entwicklungsumgebung mit Jupyter und Flask mit Python in Docker (unterstützt sowohl VS Code als auch Code-Server).
Erstellen Sie eine TensorFlow-Entwicklungsumgebung auf Amazon EC2 mit Befehlskopie
Erstellen Sie eine lokale Entwicklungsumgebung mit WSL + Docker Desktop für Windows + Docker-Lambda + Python
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (3) GVim8.0 und Python3.6
Installieren Sie Python3 auf einem Mac und erstellen Sie eine Umgebung [Definitive Edition]
# 2 Erstellen Sie eine Python-Umgebung mit einer EC2-Instanz von AWS (ubuntu18.04).
Erstellen einer R- und Python Docker-Arbeitsumgebung
Erstellen Sie eine Python-Umgebung für maschinelles Lernen unter Mac OS
Erstellen Sie mit pyenv-virtualenv eine Python-Umgebung für jedes Verzeichnis
Ich habe eine Python3-Umgebung unter Ubuntu mit direnv erstellt.
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (1)
Erstellen Sie eine Python-Entwicklungsumgebung unter Mac OS X.
Erstellen Sie eine virtuelle Python-Umgebung mit venv (Django + MySQL ①)
Erstellen Sie mit pyenv eine Python-Umgebung auf Ihrem Mac
Erstellen Sie mit Python eine Entwicklungsumgebung für maschinelles Lernen
Erstellen Sie eine Python-Entwicklungsumgebung mit pyenv unter MacOS
Erstellen Sie unter Windows eine anständige Shell- und Python-Umgebung