So erstellen Sie Ihr eigenes Image mit Dockerfile

So erstellen Sie Ihr eigenes Image mit Dockerfile

1. Erstellen Sie ein leeres Verzeichnis

$ cd /home/xm6f/dev 
$ mkdir meineApp
$ cd meineAnwendung/

2.vim Dockerfile, der Inhalt ist wie folgt:

## Eine grundlegende Python-Laufzeitumgebung VON Python
## Legen Sie das Arbeitsverzeichnis WORKDIR /app fest
## Kopieren Sie den aktuellen Inhalt des Systemordners in das App-Verzeichnis des Containers ADD ./app
## Installieren Sie die erforderlichen Abhängigkeitspakete. RUN pip install -r softwares.txt
## Offener Port für den Zugang von außen zum Container EXPOSE 80
EXPOSE 3088
EXPOSE 8080
EXPOSE 8066
## Umgebungsvariable ENV NAME definieren HELLO
## Führen Sie den Befehl CMD ["python","app.py"] aus.

3. Abhängigkeiten installieren

vim softwares.txt, der Inhalt ist wie folgt:

Flasche
Redis

4.vim app.py, der Inhalt ist wie folgt:

aus Flasche importieren Flasche
von Redis importieren Redis, RedisError
Betriebssystem importieren
Socket importieren
# Mit Redis verbinden
redis = Redis(Host="redis", db=0, Socket-Verbindungstimeout=2, Socket-Timeout=2)
App = Flask(__name__)
@app.route("/")
def hallo():
 versuchen:
  Besuche = redis.incr("Zähler")
 außer RedisError:
  Besuche = "<i>Verbindung zu Redis nicht möglich, Zähler deaktiviert</i>" 
 html = "<h3>Hallo {name}!</h3>" \
   "<b>Hostname:</b> {Hostname}<br/>" \
   "<b>Besuche:</b> {Besuche}"
 return html.format(name=os.getenv("NAME", "Welt"), hostname=socket.gethostname(), Besuche=Besuche)
wenn __name__ == "__main__":
 app.run(Host='0.0.0.0', Port=80)

5. Kompilieren

$ docker build -t meineersteapp.

6. Überprüfen Sie, ob ein neues Bild generiert wurde

$ Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
myfirstapp latest 01ea1129a831 vor 2 Stunden 699MB

7. Starten Sie das Image

$ docker run -p 4000:80 meineersteApp

Es kann auch im Hintergrund ausgeführt werden:

$ docker run -d -p 4000:80 meineersteApp

8. Zugang zu den Diensten

# curl http://localhost:4000
<h3>Hallo Welt!</h3><b>Hostname:</b> a6655d0d7e74<br/><b>Besuche:</b> <i>Verbindung zu Redis nicht möglich, Zähler deaktiviert</i>

Oder verwenden Sie einen Browser, um auf den Dienst zuzugreifen: http://192.168.1.160:4000

9. Sehen Sie sich das aktuell laufende Bild an

$ Docker ps
CONTAINER ID MAGE KOMMANDO ERSTELLT STATUS PORTS NAMEN
2db45cab2bb4 myfirstapp "python app.py" vor 2 Minuten Vor 2 Minuten 0.0.0.0:4000->80/tcp elastic_wilson

10. Beenden Sie die Spiegelung

$ Docker-Stopp 2db45cab2bb4

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der CMD- und ENTRYPOINT-Befehle im Dockerfile
  • So schreiben Sie das beste Dockerfile
  • Detaillierte Erklärung der COPY- und ADD-Befehle in Dockerfile
  • Eine detaillierte Einführung in die Dockerfile-Image-Erstellungsdatei und verwandte Befehle in Docker
  • Detaillierte Erläuterung der Verwendung von Dockerfile zum Erstellen eines MySQL-Images und zum Implementieren der Dateninitialisierung und Berechtigungseinstellung
  • Detaillierte Erläuterung der spezifischen Verwendung der ENV-Anweisung in Dockerfile
  • Beispiele für die Verwendung von Dockerfile
  • Dockerfile zum Erstellen des offiziellen Tomcat-Images und detaillierte Erklärung zur Image-Verwendung
  • Zusammenfassung gängiger Befehle in Dockerfile
  • So stellen Sie ein SpringBoot-Projekt mit Dockerfile bereit
  • So erstellen Sie mit Dockerfile ein Spiegelbild der Java-Laufzeitumgebung
  • Einführung in die Dockerfile-Anweisungen ADD und COPY
  • Detaillierte Erklärung zu Multi-Stage (Multi-Stage Build) in Dockerfile
  • Docker-Grundlagen: Detaillierte Erklärung der Dockerfile-Befehle
  • So stellen Sie den Node.js-Dienst mithilfe von Dockerfile bereit
  • Dockerfile-Anweisungen erklärt
  • Eine kurze Einführung in die Dockerfile-Anweisung VOLUME
  • Dockerfile – einfache Einführung

<<:  MySQL-Rekursionsproblem

>>:  js verwendet Cookies, um die Seitenvorgänge des Benutzers zu speichern

Artikel empfehlen

Detaillierte Erklärung der neuen Array-Methoden in JavaScript es6

Inhaltsverzeichnis 1. fürJedes() 2. arr.filter() ...

Docker-Lösung zum Anmelden ohne Root-Rechte

Wenn Sie den Docker-Befehl zum ersten Mal verwend...

Was sind die neuen CSS-Pseudoklassenfunktionen :where und :is?

Was sind :is und :where? :is() und :where() sind ...

JavaScript implementiert das mobile Puzzlespiel mit neun Rastern

In diesem Artikel wird der spezifische Code für J...

Tutorial zum Erstellen eines CA-Zertifikats unter Linux Centos8

Installieren der erforderlichen Dateien Yum insta...

So fügen Sie einem Alpine-Image einen Ansible-Dienst hinzu

Verwenden Sie apk add ansible, um den Ansible-Die...

So installieren Sie MySQL 5.7 unter Windows

Laden Sie zuerst die komprimierte Version von MyS...

CentOS 8 offiziell veröffentlicht, basierend auf Red Hat Enterprise Linux 8

Das CentOS-Projekt, ein 100 % kompatibler Neuaufb...

Umfassende Zusammenfassung der MySQL-Funktionen

Inhaltsverzeichnis 1. Häufig verwendete Zeichenfo...

Verständnis für Webdesign-Layout

<br />Hier ergibt sich ein Widerspruch: In k...

Grundlegende Verwendung von Unterabfragen in MySQL

Inhaltsverzeichnis 1. Unterabfragedefinition 2. U...

Installieren und konfigurieren Sie SSH in CentOS7

1. Installieren Sie openssh-server yum install -y...