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 Erläuterung der grundlegenden Verwendung von Apache POI

Inhaltsverzeichnis Grundlegende Einführung Erste ...

Detaillierte Einführung in die JavaScript-Funktion

Durch Funktionen lassen sich beliebig viele Anwei...

Einführung in die Überwachung des MySQL MHA-Betriebsstatus

Inhaltsverzeichnis 1. Projektbeschreibung 1.1 Hin...

Verwenden von CSS3 zum Erzielen von Übergangs- und Animationseffekten

Warum sollten wir CSS-Animationen anstelle von JS...

Zusammenfassung der MySQL InnoDB-Architektur

Inhaltsverzeichnis Einführung 1. Gesamtarchitektu...

Detailliertes Tutorial zum Löschen von Linux-Benutzern mit dem Befehl userdel

Was ist Serdel userdel ist ein Low-Level-Tool zum...

vue2.x-Konfiguration von vue.config.js zur Projektoptimierung

Inhaltsverzeichnis Vorwort vue.config.js-Konfigur...

VMware Workstation 12 installiert Ubuntu 14.04 (64 Bit)

1. Installationsumgebung Computermodell: Lenovo Y...

So lösen Sie das Problem, dass Tomcat9.exe abstürzt

Ein Leser kontaktierte mich und fragte, warum es ...

Implementierung der VUE-Anzeige unendlicher Ebenenbaum-Datenstrukturen

Inhaltsverzeichnis Rekursiver Aufruf der Komponen...