So verwenden Sie Docker zum lokalen Verpacken und Bereitstellen von Images

So verwenden Sie Docker zum lokalen Verpacken und Bereitstellen von Images

Erste Verwendung von Docker zum lokalen Verpacken und Bereitstellen von Images

Zunächst einmal ist mein Laptop-System MACOS 10.15.4
Die von mir installierte Docker-Version ist v19.03.5

1. Die Projektstruktur ist wie folgt:

Dies ist ein React-Projekt und der Pfad der gepackten statischen Ressource ist das Dist-Verzeichnis.

Bildbeschreibung hier einfügen

2. Fokus Dockerfile und Datei docker/nginx.conf

1. Dockerfile ist eine Textdatei zum Erstellen von Bildern. Eine ausführliche Einführung finden Sie unter folgendem Link: Docker Dockerfile

Der Inhalt meiner Docker-Datei sieht wie folgt aus:

VON nginx
ARBEITSVERZEICHNIS /usr/src/app/
KOPIEREN ./docker/nginx.conf /etc/nginx/conf.d/default.conf
KOPIEREN ./dist /usr/share/nginx/html/
AUSSETZEN 80
CMD ["nginx", "-g", "Daemon aus;"]

Die großgeschriebenen Wörter in Dockerfile sind Befehle. Die Bedeutung jedes Befehls wird wie folgt erklärt:

  • FROM: Alle angepassten Images basieren auf FROM-Images. Hier ist nginx das Basisimage, das für die Anpassung erforderlich ist. Nachfolgende Vorgänge basieren alle auf nginx.
  • RUN: Wird verwendet, um die folgende Befehlszeile auszuführen. Es gibt zwei Formate:
  • WORKDIR: Gibt das Arbeitsverzeichnis an. Das mit WORKDIR angegebene Arbeitsverzeichnis ist in jeder Ebene des erstellten Images vorhanden. Das durch WORKDIR angegebene Arbeitsverzeichnis muss zuvor erstellt worden sein. Während des Docker Build-Image-Erstellungsprozesses erstellt jeder RUN-Befehl eine neue Ebene. Nur über WORKDIR erstellte Verzeichnisse bleiben bestehen.
  • COPY: Kopierbefehl, kopiert Dateien oder Verzeichnisse aus dem Kontextverzeichnis in den angegebenen Pfad im Container.
  • EXPOSE: Einfach den Port angeben. Zweck: Hilft Image-Benutzern, den Daemon-Port des Image-Dienstes zu verstehen, um die Konfiguration der Zuordnung zu erleichtern. Wenn Sie zur Laufzeit eine zufällige Portzuordnung verwenden, d. h. „docker run -P“, wird der EXPOSE-Port automatisch zufällig zugeordnet.
  • CMD: Ähnlich wie die RUN-Anweisung wird es zum Ausführen des Programms verwendet, die beiden werden jedoch zu unterschiedlichen Zeiten ausgeführt: CMD wird ausgeführt, wenn Docker ausgeführt wird. RUN befindet sich im Docker-Build. Funktion: Geben Sie das Standardprogramm an, das für den gestarteten Container ausgeführt werden soll. Wenn das Programm endet, endet auch der Container. Das durch die CMD-Anweisung angegebene Programm kann durch das in den Befehlszeilenargumenten von Docker Run angegebene Programm überschrieben werden. Hinweis: Wenn das Dockerfile mehrere CMD-Anweisungen enthält, wird nur die letzte wirksam.

2. docker/nginx.conf

Server {
  hören Sie 80;
  # gzip-Konfiguration
  gzip an;
  gzip_min_länge 1k;
  gzip_comp_level 9;
  gzip_types Text/Klartext/CSS-Text/Javascript-Anwendung/JSON-Anwendung/Javascript-Anwendung/X-Javascript-Anwendung/Xml;
  gzip_vary ein;
  gzip_disable "MSIE [1-6]\.";
  Maximale Körpergröße des Clients: 100 m;

  root /usr/share/nginx/html;

  Standort / {
    Versuchen Sie, Dateien $uri $uri/ /index.html zu versuchen.
  }
  Standort /api/ {
  	# Hier ist die Backend-Adresse Proxy_Pass http://www.XXX.com/;
  }
}

3. Führen Sie den Befehl „Docker Build“ aus, um ein Image zu erstellen

Der Befehl, den ich ausgeführt habe, lautet: docker build -t mydocker .
-t: Kennzeichnen Sie das Image mit dem Namen mydocker
Vergessen Sie nicht den Punkt am Ende, der bedeutet, dass im aktuellen Pfad ein Spiegelbild erstellt wird

4. Führen Sie „docker run“ aus, um das Image bereitzustellen

Der Befehl, den ich ausgeführt habe, lautet: docker run -p 80:80 mydocker
-p dient zur Angabe des Ports, der dem lokalen Rechner zugeordnet ist
docker run -p local port: Spiegelport Spiegelname

5. Öffnen Sie localhost:80, um das Projekt anzuzeigen

Dies ist meine erste Erfahrung mit der lokalen Bereitstellung von Docker. Viele Prinzipien und Docker-Befehle sind mir noch nicht ganz klar. Ich werde in Zukunft mehr darüber lernen.

Ich möchte noch ein kleines Problem hinzufügen. Heute konnte ich das Image plötzlich nicht in die private Cloud des Unternehmens übertragen. Es lag an einem Problem mit der Netzwerkumgebung, also bat ich einen Kollegen, mir beim Übertragen zu helfen.
Ich speichere das gepackte Image zunächst lokal:

Docker speichern 10.10.10.52:5000/zhanwu-study/prod:4.1.2 > study.tar

Anschließend schickt ihr eurem Kollegen die im aktuellen Verzeichnis generierte Datei study.tar über DingTalk. Er lädt die Datei study.tar auf seinen lokalen Rechner herunter und führt aus:

Docker laden < study.tar

Aktualisieren Sie die Version (es wird kein neues Image generiert, die beiden Versionen sind das gleiche Image):

Docker-Tag 10.10.10.52:5000/zhanwu-study/prod:4.1.2 10.10.10.52:5000/zhanwu-study/prod:4.1.3

Pushen Sie dann in die private Cloud:

Docker Push 10.10.10.52:5000/zhanwu-studie/prod:4.1.3

Dies ist das Ende dieses Artikels über die Verwendung von Docker zum lokalen Verpacken und Bereitstellen von Images. Weitere relevante lokale Docker-Verpackungs- und Bereitstellungsimages finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • So ändern Sie die inländische Imagequelle für Docker
  • Docker benennt den Imagenamen und die TAG-Operation um
  • So zeigen Sie Dateien im Docker-Image an
  • So verwenden Sie Docker buildx, um plattformübergreifende Images zu erstellen und sie in private Repositories zu übertragen
  • Probleme bei der Verwendung von Azure Container Registry zum Speichern von Bildern

<<:  Eine kurze Einführung in die Kernkenntnisse der VUE uni-app

>>:  XHTML-Einführungstutorial: Textformatierung und Sonderzeichen

Artikel empfehlen

So fügen Sie bedingte Ausdrücke zu Aggregatfunktionen in MySql hinzu

MySQL-Filterungs-Timing von Where-Bedingungen und...

Bedingte Kommentare im Internet Explorer für XHTML

<br />Bedingte Kommentare sind eine einzigar...

So stellen Sie Gitlab mit Docker-Compose bereit

Docker-Compose stellt Gitlab bereit 1. Docker ins...

Detailliertes Tutorial zur Installation von PHP und Nginx auf Centos7

Da die Anwendung von CentOS auf der Serverseite i...

Interpretation von 17 Werbewirksamkeitsmaßen

1. 85 % der Anzeigen werden nicht gelesen <br ...

Implementierung eines Redis Master-Slave-Clusters basierend auf Docker

Inhaltsverzeichnis 1. Ziehen Sie das Redis-Image ...

Prozessdiagramm für die Ideenbereitstellung und Tomcat-Dienstimplementierung

Konfigurieren Sie zunächst die Projektartefakte K...