Wir planen, Docker-Compose im Videoprojektionssystem der Videogruppe im Kreis zu verwenden, aber da es viele Nicht-Ingenieure gibt, werden wir + Ausgabe üben, um sie zu erklären.
Das ist Yoshitora. Ich wollte ein Video-Tool mit Docker-Compose und Raspi erstellen, also werde ich eine Einführung in Docker-Compose schreiben ...
Es kann schwierig sein zu lesen, weil es der erste Beitrag von Qiita ist ... Es tut mir leid ...
Aufgrund des neuen Koronavirus gibt es keine neuen Leistungen, und selbst wenn ich dem Labor zugewiesen wurde, musste ich von zu Hause aus arbeiten ... Das für das Labor zuständige Fakultätsmitglied las viel englische Literatur und sagte mir, ich solle mich daran gewöhnen, aber ich konnte nicht 24 Stunden am Tag mein Bestes geben.
Ich möchte einen Schalter als Pause kaufen und ein Spiel spielen ...
Verdammt ... Ich möchte, dass Wiederverkäufer und Coronas sterben ...
Also wollte ich es selbst machen. ~~ Leute, die in der Welt von Grund auf neu gewechselt haben, ich denke, ich werde es verbrennen oder in die Luft jagen ~ ~
Das zuständige Fakultätsmitglied schrieb locker, dass ich verschiedene Techniken berühren sollte, also denke ich darüber nach, Docker / Docker-Compose in der Infrastruktur der Video-Tools in der Gruppe zu verwenden, also werde ich es berühren.
Als eine Praxis von Docker / Docker-Compose, die definitiv in Zukunft auf dem Web-System verwendet wird, werde ich etwas daraus machen,
Ich benutze Docker-Compose als Teilzeitjob, aber ich habe nichts erstellt, indem ich es von Grund auf neu eingestellt habe, also werde ich mein Bestes geben ...
Apropos Schalter, es ist Nintendo, Nintendo macht verschiedene Spiele und veröffentlicht sie, oder?
Der berühmteste von ihnen ist Mario, nicht wahr? Also werde ich etwas machen, das Mario sein kann.
Apropos Mario, du zerstörst Blöcke am Straßenrand und kratzst Münzen und Gegenstände, oder? Also werde ich den Block auf dem PC anzeigen und etwas machen, das ein Geräusch macht, dass Sie bei jedem Klicken Münzen erhalten können
Docker / Docker-Compose wird in der Web-Welt immer behandelt, nicht wahr? Kurz gesagt, ich persönlich denke, es ist ein sehr starkes Instrument, um Umweltproblemen vorzubeugen (es tut mir leid, wenn ich einen Fehler mache).
Der schwierigste Teil der Entwicklung besteht darin, die erste Umgebung zu erstellen, und es kommt häufig vor, dass dies nicht funktioniert, wenn Sie verschiedene Versionen installieren. Mit Docker / Docker-Compose können Sie jedoch die Umgebung (Version usw.) nach der Entscheidung erstellen, sodass dies nicht der Fall ist! !! ~~ Aber es gibt einen Fehler in Windows 10 Pro, Rails und Docker-Compose ... ~~
Selbst wenn Sie Docker / Docker-Compose verwenden, werden Sie diese Umgebungen zuerst erstellen! Das kann nicht entkommen
Diesmal machen wir es mit Ubuntu 18.04 lts So installieren Sie ubuntu18.04lts Wenn Sie befürchten, dass Sie es auf einem Computer installieren und die Originaldaten löschen könnten, sollten Sie eine virtuelle Box oder etwas anderes verwenden (Wenn Sie nicht verstehen, schreiben Sie einen Kommentar Artikel ...)
Aktualisieren und aktualisieren Sie zunächst Ubuntu und installieren Sie die für die Docker-Installation erforderliche Software. Wenn Sie dies nicht tun, können Sie nichts tun
instal-software
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
Eine kurze Beschreibung der installierten Software lautet wie folgt
Software | Kommentar |
---|---|
apt-transport-https | Sicherheitsbezogen. Ist es eine Software, die die https-Kommunikation ermöglicht? |
ca-certificates | Dies hängt auch mit der Sicherheit zusammen. Handelt es sich um Software, die Zertifikate für SSL-Verbindungen verarbeitet? |
curl | Kommunikationsbezogen. Software, mit der Sie von Hand eine Verbindung zum Internet herstellen können. |
software-properties-common | Bezieht es sich auf Software-Management? |
Wenn Sie es erfolgreich installieren können, werden viele Zeichen angezeigt und der Vorgang wird beendet
Installieren Sie als Nächstes GPG Public Key mit dem folgenden Befehl, damit Docker installiert werden kann.
install-GPGkey
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Mit dem folgenden Befehl können Sie überprüfen, ob der Schlüssel erfolgreich installiert wurde
check-install-key
sudo apt-key fingerprint 0EBFCD88
Wenn nach dem Ergebnis der Ausführung des Befehls "Docker Release (CE deb) [email protected]" in die UID-Zeile geschrieben wird, ist dies erfolgreich.
Stellen Sie als Nächstes das apt-Repository so ein, dass es mit apt-get installiert werden kann. Grundsätzlich gibt es kein Problem, wenn Sie Stable of Docker installieren, sodass Sie es installieren können (es gibt andere Kanten und Tests !!).
Bitte beachten Sie, dass der Befehl je nach verwendeter CPU-Fraktion (?) Unterschiedlich ist ...
x86_64 (Intel oder AMD CPU)
x86_Wie in 64 zu tun
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable"
armhf (ARM CPU)
Wie man mit armhf umgeht
sudo add-apt-repository \
"deb [arch=armhf] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable
Aktualisieren Sie apt-get, um das Installationsergebnis wiederzugeben
update
sudo apt-get update
An dieser Stelle können Sie den Docker selbst installieren! Du hast es geschafft! Das Docker selbst kann mit dem folgenden Befehl installiert werden
docker-install
sudo apt-get install -y docker-ce
Das installierte Docker kann nicht ohne Administratorrechte (sudo) verwaltet werden, was sehr unpraktisch ist. Gewähren wir also Administratorrechte
add-docker-sudo
sudo usermod -aG docker $USER
Danach werde ich neu starten
Mit dem folgenden Befehl können Sie die Hallo-Welt von Docker ausführen (testen, ob sie installiert wurde)
hello-world
docker run hello-world
Wenn Sie mit diesem Befehl das folgende Ergebnis sehen, ist es erfolgreich! Du hast es geschafft!
docker-hello-world-result
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
Docker basiert auf der Idee unveränderlicher Anweisungen. Unveränderlich bedeutet unveränderlich / unverändert, Anweisung bedeutet Befehl Mit anderen Worten, wenn Sie sich für einen Befehl entscheiden, z. B. wie Sie sich nur am Anfang bewegen, werde ich ihn ab dem nächsten Mal verwenden.
Docker arbeitet mit dem folgenden Bild.
Der Docker-Container arbeitet mit dem folgenden Bild.
Installieren Sie jetzt Docker-Compose! !! Um Docker-Compose zu installieren, installieren Sie das Hauptgerät direkt mit CURL. Da das Installationsziel jedoch ein Ort ist, für den Administratorrechte erforderlich sind, installieren Sie es mit CURL mit Administratorrechten (sudo).
Der folgende Befehl ist ein Befehl für die Installation. Da jedoch 1.25.5 im Befehl die Version von Docker-Compose ist, suchen Sie die Version, die Sie installieren möchten, unter Github von Docker-Compose und schreiben Sie den Befehl in diese Version (neueste Version). Release ist die neueste Version)
install-docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
Wie Docker ist Docker-Compose einfacher, Administratorrechte zu erteilen. Gewähren Sie es daher.
add-docker-compose-sudo
sudo chmod +x /usr/local/bin/docker-compose
Damit ist die Docker-Compose-Installation abgeschlossen! Du hast es geschafft!
Lassen Sie uns die Hallo-Welt des Docker-Komponierens machen Erstellen Sie die folgende Datei docker-compose.yml
docker-compose.yml
version: '3.8'
services:
hello:
image: hello-world:latest
Führen Sie nach dem Erstellen den folgenden Befehl in der Hierarchie aus, in der sich die Datei befindet, um Docker-Compose zu starten.
docker-compose-run
docker-compose up
Das Ausführungsergebnis ist fast das gleiche wie in der Docker-Hallo-Welt Es ist kein Fehler, der zu ähnlich ist
Ein Container kann von Docker verwaltet werden, während Docker-Compose mehrere Container verarbeiten kann. Wenn Sie also docker-compose.yml wie folgt umschreiben, können Sie docker-compose verwenden, um die Hallo-Welt mehrerer Docker gleichzeitig zu erstellen (obwohl Sie dies normalerweise nicht tun).
docker-compose.yml
version: '3.8'
services:
hello:
image: hello-world:latest
hello2:
image: hello-world:latest
Wenn Sie mehr als eine verarbeiten können, können Sie zusätzlich zum Server der Site eine Datenbank einrichten, und der Umfang der möglichen Aktionen wird sofort erhöht.
Python ist eine benutzerfreundliche Skriptsprache mit geringen Lernkosten Es gibt 2 Serien und 3 Serien in Python, aber ich denke, dass 3 Serien der Mainstream sind
Mit Python können Sie
--Maschinelles Lernen --Web Entwicklung
Sie können verschiedene Dinge tun, es ist stark
Python-Webframework Ich habe das Gefühl, dass viele Menschen mehr in Django versunken sind, aber Django wird eine groß angelegte Entwicklung sein. Der Kolben kann dagegen im kleinen bis mittleren Maßstab entwickelt werden. Ich denke, Flask ist schon zum ersten Mal einfacher zu handhaben, weil die Lernkosten niedriger sind Dokumentation ist ebenfalls leicht und leicht zu lesen.
folder/
app.py
Dockerfile
docker-compose.yml
Erstellen Sie die folgende Datei
app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "Hello world"
if __name__ == '__main__':
app.run(host="0.0.0.0", port=5000)
Dockerfile ist eine Datei, die schreibt, was zuerst ausgeführt werden soll, wenn Docker-Compose gestartet wird.
FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
RUN pip install flask
COPY . .
CMD ["flask", "run"]
Die Datei docker-compose.yml ist eine Datei, die die Umgebung des Containers in docker-compose festlegt.
docker-compose.yml
version: '3.8'
services:
app:
build: .
ports:
- "5000:5000"
Sie können es mit dem folgenden Befehl starten
docker-compose up
Gehen Sie nach dem Start zu http://0.0.0.0:5000 und Sie werden "Hallo Welt" sehen! Ich habs gemacht!
Sie können den Start mit Strg + C stoppen
Wenn Sie Docker-Compose ausführen, wird der Inhalt der Docker-Datei in der Reihenfolge von oben ausgeführt. Diesmal "Python-Image installieren", "Verzeichnis auf Container erstellen", "Umgebungsvariable festlegen (ENV)", "Erforderliche Software installieren", "Ausführen" usw. (ganz Es ist rau und kaputt, aber ...)
Es wurde erstellt-> https://github.com/KinoshitaYstr/mario Von github herunterladen und entpacken Wenn Sie es mit Docker-Compose im extrahierten Ordner starten und auf http: // localhost: 5000 zugreifen, wird ein Feld angezeigt. Klicken Sie auf das Feld, um Münzen zu erhalten (Bitte lassen Sie mich wissen, wenn Sie eine Code-Erklärung wünschen ...)
Jeder ist Mario damit, yafu
Wenn Sie von der Nintendo-Rechtsabteilung angestarrt werden, wird dieser Artikel privat gehalten oder gelöscht Außerdem möchte ich, dass Wiederverkäufer und Corona von der Rechtsabteilung von Nintendo angestarrt oder von Ichikyo Yen bestraft werden. Bitte lassen Sie mich wissen, wenn Sie einen Fehler machen ... Ich werde ihn beheben ...
Auf Wiedersehen…
Während ich dies schrieb, fragte ich mich, was ich tat, aber ich fragte mich, was ich tat ...
Recommended Posts