Wie richte ich eine PostgreSQL -Datenbank mit Docker ein?
Verwenden Sie Docker, um PostgreSQL ohne lokale Installation auszuführen, indem Sie einen Container mit dem offiziellen Bild, dem Kennwort, Port und Volumen für die Persistenz einstellen. 2. Erstellen Sie einen benannten Volumenpostgres-Daten, um Daten über Container-Neustarts hinweg zu erhalten. 3.. Passen Sie den Datenbanknamen und den Benutzer über Umgebungsvariablen an postgres_user, postgres_password und postgres_db an. V.
Um eine PostgreSQL -Datenbank mit Docker einzurichten, müssen Sie PostgreSQL nicht direkt auf Ihrem Computer installieren. Docker vereinfacht den Prozess, indem es die Datenbank Containeration durch Containeration macht, wodurch er tragbar und einfach verwaltet wird. Der Schlüssel besteht darin, einen PostgreSQL -Container mit geeigneter Konfiguration für Kennwörter, Ports und anhaltende Speicher auszuführen.
Führen Sie Postgresql in einem Docker -Container aus
Verwenden Sie das offizielle PostgreSQL -Bild von Docker Hub, um einen Container zu starten. Zumindest müssen Sie ein Kennwort für den Standard -Postgres -Benutzer festlegen und den Datenbankport enthüllen.
- Führen Sie diesen Befehl aus, um einen Postgresql -Container zu starten:
Docker Run --Name my -postgres -e postgres_password = mysecretpassword -p 5432: 5432 -D Postgres
- -NAME MY-POSTGRES : Weisen Sie dem Container einen Namen zur einfacheren Verwaltung zu.
- -e postgres_password = ... : legt das Kennwort für den Standard -Superuser fest.
- -P 5432: 5432 : Maps Host -Port 5432 an den Containerport 5432.
- -D Postgres : Firiert das offizielle PostgreSQL -Bild im abgetrennten Modus.
Fügen Sie eine anhaltende Datenspeicherung hinzu
Standardmäßig gehen Daten verloren, wenn der Container stoppt. Verwenden Sie, um Ihre Daten zu erhalten, ein Docker -Volumen.
- Erstellen Sie ein benanntes Volumen für Datenpersistenz:
Docker-Volumen erstellen Postgres-Data
Docker Run --Name my -postgres -e -e postgres_password = mysecretpassword -p 5432: 5432 -v postgres -data:/var/lib/postgresql/data -d postgres
- -V postgres-data:/var/lib/postgresql/data : montiert das Volumen in das Verzeichnis, in dem Postgresql Daten speichert.
Passen Sie den Datenbanknamen und den Benutzer an
Sie können eine benutzerdefinierte Datenbank und einen Benutzer während des Starts mithilfe von Umgebungsvariablen definieren.
- Stellen Sie postgres_db fest, um den Standarddatenbanknamen anzugeben.
- Stellen Sie postgres_user fest, um einen benutzerdefinierten Benutzer zu erstellen.
Beispielbefehl:
Docker Run-Name my-postgres \
-e postgres_user = admin \
-e postgres_password = adminpass \
-e postgres_db = myapp_db \
-p 5432: 5432 \ \
-V postgres-data:/var/lib/postgreSql/data \
-d postgres
Stellen Sie eine Verbindung zur PostgreSQL -Datenbank her
Sobald der Container ausgeführt wird, verbinden Sie mit PSQL oder einem PostgreSQL -Client.
- Greifen Sie auf die PSQL -Shell des Containers zu:
Docker exec -it my -postgres psql -u admin -d myapp_db
- Verwenden Sie von der Hostmaschine Tools wie Pgadmin , DBeaver oder Code (z. B. Python mit Psycopg2 ), um eine Verbindung zu Localhost: 5432 herzustellen.
Führen Sie im Grunde den Container einfach mit den richtigen Umgebungsvariablen und einem Volumen aus. Auf diese Weise erhalten Sie in wenigen Minuten ein funktionierendes, anhaltendes PostgreSQL -Setup.
Das obige ist der detaillierte Inhalt vonWie richte ich eine PostgreSQL -Datenbank mit Docker ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT
KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Es gibt drei Hauptmethoden, um Umgebungsvariablen in PHP festzulegen: 1. Globale Konfiguration über php.ini; 2. durch einen Webserver (z. B. SetEnv von Apache oder FastCGI_Param von Nginx); 3. Verwenden Sie die Funktion Putenv () in PHP -Skripten. Unter ihnen eignet sich Php.ini für globale und selten ändernde Konfigurationen. Die Webserverkonfiguration eignet sich für Szenarien, die isoliert werden müssen, und Putenv () ist für temporäre Variablen geeignet. Die Persistenz -Richtlinien umfassen Konfigurationsdateien (z. B. Php.ini oder Webserverkonfiguration), .env -Dateien werden mit der DOTENV -Bibliothek und dynamische Injektion von Variablen in CI/CD -Prozessen geladen. Sicherheitsmanagement sensible Informationen sollten hart codiert werden, und es wird empfohlen.

Die Verwendung des richtigen PHP-Basisbildes und die Konfiguration einer sicheren, leistungsoptimierten Docker-Umgebung ist der Schlüssel zum Erreichen der Produktion. 1. Wählen Sie PHP: 8,3-FPM-Alpine als Grundbild, um die Angriffsfläche zu reduzieren und die Leistung zu verbessern. 2. Deaktivieren Sie gefährliche Funktionen über benutzerdefinierte Php.ini, deaktivieren Sie die Fehleranzeige und aktivieren Sie Opcache und JIT, um die Sicherheit und Leistung zu verbessern. 3.. Verwenden Sie Nginx als Reverse Proxy, um den Zugriff auf sensible Dateien einzuschränken und die PHP-Anforderungen korrekt an PHP-FPM weiterzuleiten. 4. Verwenden Sie mehrstufige Optimierungsbilder, um Entwicklungsabhängigkeiten zu entfernen, und richten Sie nicht Root-Benutzer auf, um Container auszuführen. 5. optionaler Aufsichtsbehörde zum Verwalten mehrerer Prozesse wie Cron; 6. Überprüfen

Um PHP -Container zur Unterstützung der automatischen Konstruktion zu ermöglichen, liegt der Kern in der Konfiguration des Continuous Integration (CI) -Prozesses. 1. Verwenden Sie Dockerfile, um die PHP -Umgebung zu definieren, einschließlich grundlegender Bild-, Erweiterungsinstallations-, Abhängigkeitsmanagement- und Berechtigungseinstellungen. 2. Konfigurieren Sie CI/CD-Tools wie GitLabci und definieren Sie die Erstell-, Test- und Bereitstellungsstadien über die Datei .gitlab-ci.yml, um automatische Konstruktion, Test und Bereitstellung zu erreichen. 3.. Integrieren Sie Testframeworks wie Phpunit, um sicherzustellen, dass die Tests automatisch nach Codeänderungen ausgeführt werden. 4. Verwenden Sie automatisierte Bereitstellungsstrategien wie Kubernetes, um die Bereitstellungskonfiguration durch die Datei bereitzustellen. 5. Dockerfile optimieren und mehrstufige Konstruktionen übernehmen

Der Aufbau einer unabhängigen Umgebung für PHP -Aufgabencontainer kann über Docker implementiert werden. Die spezifischen Schritte sind wie folgt: 1. Installieren Sie Docker und DockerComponpose als Grundlage; 2. Erstellen Sie ein unabhängiges Verzeichnis, um Dockerfile und Crontab -Dateien zu speichern. 3. Schreiben Sie Dockerfile, um die PHPCLI -Umgebung zu definieren und Cron und die erforderlichen Erweiterungen zu installieren. 4. Schreiben Sie eine Crontab -Datei, um Zeitaufgaben zu definieren. 5. Schreiben Sie ein Docker-compose.yml-Mount-Skriptverzeichnis und konfigurieren Sie Umgebungsvariablen. 6. Starten Sie den Container und überprüfen Sie das Protokoll. Im Vergleich zu Timing -Aufgaben in Webcontainern haben unabhängige Container die Vorteile der Ressourcenisolation, der reinen Umgebung, der starken Stabilität und einer einfachen Expansion. Gewährleistung der Protokollierung und Fehleraufnahme

Um das Problem der Inkonsistenz zwischen PHP -Umgebung und Produktion zu lösen, besteht der Kern darin, die Container- und Orchestrierungsfunktionen von Kubernetes zu verwenden, um die Umweltkonsistenz zu erreichen. Die spezifischen Schritte sind wie folgt: 1. Erstellen Sie ein einheitliches Docker -Bild, einschließlich aller PHP -Versionen, Erweiterungen, Abhängigkeiten und Webserverkonfigurationen, um sicherzustellen, dass dasselbe Bild in der Entwicklung und Produktion verwendet wird. 2. Verwenden Sie Kubernetes 'configMap und geheim, um nicht sensitive und empfindliche Konfigurationen zu verwalten und eine flexible Umstellung verschiedener Umgebungskonfigurationen durch Volumenmontage oder Umgebungsvariableninjektion zu erreichen. 3. Gewährleistung der Konsistenz des Anwendungsverhaltens durch Unified Kubernetes -Deployment -Definitionsdateien (z. B. Bereitstellung und Dienst) und in die Versionskontrolle einbeziehen; 4.

Deinstallieren Sie die alte Version von Docker, um Konflikte zu vermeiden.

DockerforwindowsseSalinuxvmorwsl2ToruncontainersBecausewindowSlacksnatelinuxKernelfeature; 1) itautautomaticManateAlightweightLinuxvm (oruseswsl2) Withyper-VtohostthockerdaMand-Ankain-Anbieter; 2) ThedockercloiNdesktopwader und -Container;

DockerisaplatformForpacking, Versand, AndrunningApplicationssinlightweight, IsolatedContainerthatsharethehostoskernel, im Gegensatz zuvirtualMachines
