1. Systemumgebung1. Tencent Cloud Leichtgewicht-Anwendungsserver CentOS7.6 2. Betriebsablauf und dabei aufgetretene Probleme1. SSH-Remote-Linux
Wenn Sie auf das folgende Problem stoßen: Der Grund für dieses Problem: known_hosts ist eine Datei, die den öffentlichen Schlüssel des Remote-Hosts aufzeichnet. Das System wurde zuvor neu installiert, und der gespeicherte öffentliche Schlüssel ist immer noch der öffentliche Systemschlüssel des Systems, das nicht neu installiert wurde. Beim Herstellen einer Verbindung mit SSH wird zuerst der öffentliche Schlüssel überprüft. Wenn der öffentliche Schlüssel falsch ist, wird ein Fehler gemeldet. Lösung: Verwenden Sie den Befehl shh-keygen Verwenden Sie dann SSH, um eine Remoteverbindung zu Linux herzustellen: 2. Aktualisieren Sie das System
3. Installieren Sie Git
4. Installieren Sie Nginx, aktivieren und starten Sie den Dienst:
5. Installieren Sie Dotnet SDK Sie müssen dies nur einmal pro Computer tun.
6. Installieren Sie die Docker-Umgebung 1) Installieren Sie die Docker-Quelle: Zuerst können wir den Deinstallationsbefehl ausführen. Wenn Sie es zuvor installiert haben oder es mit dem System geliefert wird, müssen Sie es sauber deinstallieren:
Dann können wir die angegebene Quelle installieren. Es gibt offizielle Versionen und Alibaba Cloud-Versionen. Ich werde hier versuchen, die Alibaba Cloud-Version zu verwenden. Ich habe gehört, dass es schneller sein soll.
Schritt 2: Informationen zur Softwarequelle hinzufügen
Schritt 3: Docker-CE aktualisieren und installieren
Schritt 4: Starten Sie den Docker-Dienst
Docker-Start einrichten
Starten Sie Docker
Version anzeigen
Allgemeine Docker-Befehle Alle Docker-Images anzeigen
Alle Bilder löschen
Den Ausführungsstatus aller Container anzeigen
Löschen eines Containers (Instanz) mit Container-ID
Alle Container löschen
2) Testen Sie „Hello World“ Überprüfen Sie, ob Docker normal ausgeführt werden kann (führen Sie das „Hello-World“-Image aus. Wenn der lokale Computer nicht über das „Hello-World“-Image verfügt, ruft das System das „Hello-World“-Image automatisch ab.)
Zu diesem Zeitpunkt können wir Folgendes überprüfen:
Wie kann ich überprüfen, welche Container vorhanden sind?
Dies ist der Container mit dem Ausgabeinhalt, den wir gerade gesehen haben: Die Container-ID ist eb180038a3ce, das Bild ist „Hallo Welt“ und der Status ist „Beendet“. 7. Veröffentlichen Sie Ihr eigenes Bild 1) Docker-Unterstützung hinzufügen: Passen Sie die Schnittstelle an, die vom Projekt bereitgestellt werden soll Klicken Sie mit der rechten Maustaste auf die API-Ebene, um Docker-Unterstützung hinzuzufügen, und wählen Sie Linux Ändern des Dockerfiles VON: bedeutet, dass es sich um den Quellspiegel unseres Projekts handelt; 2 Skriptdateien: Docker.Core.Publish.Linux.sh und Docker.Core.Publish.Docker.sh Dockerfile: Dann Rechtsklick, immer Eigenschaften, immer ins Ausgabeverzeichnis (bin) kopieren Als nächstes das Projekt auf GitHub oder Gitee veröffentlichen: Ich veröffentliche es auf GitHub und gehe dann zu Gitee, um die Synchronisierung des Projekts zu erzwingen. Es ist schneller, das Projekt aus China zu klonen 2) Freigabe Wir verwenden Git, um den Code auf den Server zu ziehen, und führen dann den Release-Befehl aus. Ich verwende eine Batchdatei, um ihn direkt mit einem Klick zu generieren (hauptsächlich, um fehlende Dateien zu vermeiden): Führen Sie den Release-Befehl aus: Sie können den generierten Veröffentlichungsordner PublishFiles sehen. 3) Erstellen Sie ein Bild Gehen Sie zu unserem Veröffentlichungsordner PublishFiles und testen Sie, ob diese Datei normal ist:
Wenn alles in Ordnung ist, beginnen Sie mit dem Erstellen, immer noch im aktuellen Ordner (merken Sie sich diesen Punkt):
Wobei lenceas/apkimg unser Spiegelname ist. Hier gibt es noch zwei weitere Bilder, eines ist unser Bild mit der ID 48252cd5c2d0, die Größe der Projektdatei beträgt 209 MB, und das andere ist das Quellbild unserer Docker-Datei. 4) Pushen Sie das Image in das Docker-Hub-Repository Schritt 1: Registrieren Sie ein Konto auf dem Docker-Hub. Schritt 2: Erstellen Sie ein Repository. Schritt 3: Server-Image-Push. Melden Sie sich zuerst bei Ihrem Konto an (wenn Sie sich zuvor angemeldet haben, können Sie sich abmelden und erneut anmelden). Drücken:
prüfen: Sie können sehen, dass es erfolgreich gepusht wurde. Auf diese Weise können wir mein Bild überall verwenden. 8. Generieren und Ausführen des Containers 1) Generieren Sie einen Container Lassen Sie uns mit dem Bild einen Container generieren:
Sie sehen die Ausgabe. Wenn kein Fehler vorliegt, herzlichen Glückwunsch. Beenden Sie den aktuellen Prozess und prüfen Sie, welche Container vorhanden sind: Zu diesem Zeitpunkt können Sie sehen, dass es einen zusätzlichen Container mit der ID e45b93658007 gibt und das Bild der Container lenceas/apkimg ist, aber unser Projektcontainer befindet sich im Beendigungszustand und muss geöffnet werden:
Der Status lautet „Wird bereits ausgeführt“. Wie kann man also testen, ob die Schnittstelle normal ist? Sie können den Befehl curl verwenden:
Wenn Sie bis hierhin gelangt sind, herzlichen Glückwunsch, die Docker-Bereitstellung von NetCore ist im Grunde abgeschlossen. Der letzte Schritt ist der Nginx-Proxy. Da unser Docker diesen Prozess bereits geschützt hat, benötigen wir keine weiteren Daemon-Prozesse. 9. Nginx-Proxy-Dienst Ändern Sie die Datei nginx.conf auf zwei Arten: Der nächste Schritt besteht darin, den Nginx-Dienst neu zu starten. Zunächst können Sie Syntaxfehler erkennen:
Oben finden Sie Einzelheiten zur Linux-Docker-Bereitstellung von ASP.NET Core-Anwendungen. Weitere Informationen zur Docker-Bereitstellung von ASP.NET Core-Anwendungen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: So wählen Sie die Transaktionsisolationsebene in einem MySQL-Projekt
>>: Webdesign-Erfahrung: Effizientes Schreiben von Webcode
Klassifizierung von CSS-Stilen 1. Interner Stil -...
AngularJS-Loop-Objekteigenschaften zum Erreichen ...
Inhaltsverzeichnis Ergebnisse erzielen Vollständi...
Vorne geschrieben Ich habe kürzlich ein spezielle...
Erstellen des Projekts Führen Sie die Befehlszeil...
#String-Verkettung concat(s1,s2); verkette die St...
Datenblatt /* Navicat SQLite-Datenübertragung Que...
Heute habe ich eine Festplattenalarm-Ausnahme erh...
Dieser Artikel beschreibt den MySQL-Show-Vorgang ...
Ansible ist ein neues, auf Python basierendes, au...
Inhaltsverzeichnis DOMContentLoaded und laden Was...
1. Voraussetzungen: Die Datenbanksicherung ist be...
Inhaltsverzeichnis Vorwort 1. Stildurchdringung 1...
Inhaltsverzeichnis Hintergrund: Reibungslose Upgr...
Frage Beim Schreiben von Datenbank-SQL ist mir ge...