Docker-Installation und Bereitstellung einer Analyse des Net Core-Implementierungsprozesses

Docker-Installation und Bereitstellung einer Analyse des Net Core-Implementierungsprozesses

1. Docker-Installation und -Einstellungen

#Installieren Sie CentOS und legen Sie das Docker-Paket in die Extras-Softwarequelle. Sie können es direkt verwenden: yum install docker-io -y

#Zeigen Sie die Version von Docker an
Docker -v

#Starten Sie den Docker-Dienst systemctl start docker.service

#Starten Sie den Docker-Dienst systemctl enable docker.service

#Überprüfen Sie den Startstatus des Docker-Dienstes systemctl status docker.service

#Starten Sie den Docker-Dienst neu systemctl restart docker.service

2. Erstellen Sie ein neues Net Core-Programm

1. Erstellen Sie ein neues Net Core-Projekt. Hinweis: Docker-Unterstützung ist nicht aktiviert.

2. Veröffentlichen Sie das neu erstellte Projekt (Ziellaufzeit: portabel)

3. Erstellen Sie eine neue Dockerfile-Datei im veröffentlichten Ordner (ohne Suffix).

Die allgemeinen Inhalte sind wie folgt:

FROM microsoft/dotnet:2.1-aspnetcore-runtime //Beachten Sie, dass Ihre Version mit WORKDIR /app übereinstimmen muss
KOPIEREN . . //Alle Dateien im aktuellen Verzeichnis (außer den durch .dockerignore ausgeschlossenen Pfaden) in das /app-Verzeichnis der Image-Datei kopieren.
EXPOSE 5000 //Portnummer (stellt den Container-Port 5000 frei, um externe Verbindungen zu diesem Port zuzulassen.)
//EXPOSE 443 //Der HTTP-Port wird geöffnet ENTRYPOINT ["dotnet", "DockerDemo5.dll"] //Ändern Sie die laufende Assembly in Ihre eigene 

3. Hochladen des veröffentlichten Projekts auf den Linux-Server (CentOS)

1. Geben Sie das Release-Verzeichnis des Programms ein

#Geben Sie das Release-Ziel des Programms ein cd /data/web/mydocker

#Erstellen Sie eine Bilddatei (der Parameter -t wird verwendet, um den Namen der Bilddatei anzugeben, und ein Doppelpunkt kann verwendet werden, um die Bezeichnung danach anzugeben. PS: Beachten Sie den letzten Punkt)
Docker-Build -t aspnetcoredocker1.1. 

#Erstellen Sie einen Container. Bei jedem Ausführen wird ein neuer Container erstellt (5000:5000 bedeutet hier, dass Port 5000 im Container Port 5000 auf Ihrem Host zugeordnet wird, mit dem Container-Port am Ende).
docker run -it -p 5000:5000 aspnetcoredocker1.1
#docker run -it -p 5000:5000 aspnetcoredocker1.1:TAG // Der Standard-TAG ist der neueste 

2. Greifen Sie einfach direkt darauf zu

3. Starten Sie den Docker-Container automatisch (nachdem der Container beendet oder ausgeschaltet wurde, kann Docker beim Erstellen des Containers die Neustartstrategie mithilfe des Parameters --restart angeben).

# Legen Sie die Startstrategie fest docker run --restart always -it -p 5000:5000 aspnetcoredocker1.1

#Wenn der Container erstellt wurde, möchten wir die Neustartrichtlinie des Containers ändern docker update --restart always 3ec28be7254a //Container-ID


# --restart Mehrere Parameterwerte: Wählen Sie „nein“, um den Container nicht automatisch neu zu starten. (Standardwert)
on-failure Der Container wird beendet, wenn ein Fehler auftritt (der Container-Exit-Status ist nicht 0) und startet den Container neu. Sie können die maximale Anzahl von Neustarts angeben, z. B.: on-failure:10
Until-stopped Starten Sie den Container nur neu, wenn der Container gestoppt wurde oder Docker gestoppt/neu gestartet wurde. Manuelles Stoppen zählt nicht. Starten Sie den Container immer nur neu, wenn der Container gestoppt wurde oder Docker gestoppt/neu gestartet wurde.

4. Docker-bezogene Befehle

Bilddateien und Containerbefehle

#Alle Docker-Images anzeigen

#Löschen Sie ein Image mit der Image-ID Docker RMI [IMAE_ID] 

#Alle Bilder löschen sudo docker rmi $(docker images -q) 


#Zeigen Sie den Betriebsstatus aller Container an docker ps -a  
Docker-Container ls -all

#Löschen eines Containers mit Container-ID (Instanz)
Docker RM 6f0c67de4b72 

#Alle Container löschen docker rm $(sudo docker ps -a -q)

Containerprotokolle

#Protokolle nach der angegebenen Zeit anzeigen und nur die letzten 100 Zeilen anzeigen:
Docker-Protokolle -f -t --since="2019-06-08" --tail=100 CONTAINER_ID

#Protokoll nach einer bestimmten Zeit anzeigen:
Docker-Protokolle -t --since="2019-06-08" CONTAINER_ID

#Protokolle für einen bestimmten Zeitraum anzeigen:
Docker-Protokolle -t --since="2019-06-08" --until "2019-06-09" CONTAINER_ID

#Protokolle der letzten 30 Minuten anzeigen:
Docker-Protokolle – seit 30 Min. CONTAINER_ID

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:
  • .Net Core stellt Docker-Container bereit
  • ASP.NET Core-Entwicklung Docker-Bereitstellung
  • Vollständige Schritte zum Bereitstellen von Asp.net-Kernanwendungen mit Docker
  • Implementierung der Ein-Klick-Bereitstellung von Asp.net Core Jenkins Docker
  • Automatisierte Bereitstellung von .Net Core: So stellen Sie Dotnetcore-Anwendungen mit der Docker-Version von Jenkins bereit
  • ASP.NET Core Docker-Bereitstellung im Detail
  • Bereitstellen von ASP.NET Core-Anwendungen mit Docker

<<:  Testen des Hyperlink-Öffnungsziels

>>:  Lösen Sie das Problem, dass bei der Set-Operation kein NULL gefunden wird, nicht wie bei MySQL

Artikel empfehlen

Tipps zum Organisieren von Zeichenfolgen in Linux

Bei Linux-Operationen ersetzen und zählen wir häu...

So überprüfen Sie die Version des Kali Linux-Systems

1. Überprüfen Sie die Kali-Linux-Systemversion Be...

Details zu MySQL-Zeittypen und -Modi

Inhaltsverzeichnis 1. MySQL-Zeittyp 2. Überprüfen...

So verbessern Sie die MySQL Limit-Abfrageleistung

Bei MySQL-Datenbankoperationen hoffen wir immer, ...

Beispiel für die Anzeige von Bildjalousien mit reinem CSS

Lassen Sie mich Ihnen zunächst den fertigen Effek...

Detaillierte Erklärung der Vue-Komponenten

<Text> <div id="Wurzel"> &l...

Methoden und Probleme bei der Installation von MariaDB in CentOS unter MySQL

Löschen Sie die zuvor installierte MariaDB 1. Ver...

Detaillierte Erläuterung der MySQL-Partitionsfunktion und Beispielanalyse

Zunächst: Was ist Datenbankpartitionierung? Ich h...