Ich möchte die Datenbank bei der Entwicklung einer App nicht in eine lokale Umgebung wie Mac herunterladen, daher verwende ich ein Containerverwaltungstool namens Docker. Weil der Übergang einfach ist. Ich möchte es in der Produktionsumgebung in den Bergen verwenden, habe aber keine Kenntnisse über Kubernetes, daher habe ich das Gefühl, dass ich nicht wirklich darauf zugreifen kann. Nun, es kommt auf die Skala an.
Dieser Artikel ist wie ein Beispiel für das Erstellen von ** MongoDB ** mit ** Docker **. Es gab nichts anderes, was leicht zu verstehen war, und ich erinnere mich, dass ich es überprüft habe, als ich es gemacht habe.
Die Betriebsumgebung ist Mac OS Catalina
Goal Erstellen Sie eine ** docker-compose.yml ** -Datei und setzen Sie ** MongoDB ** und ** mongo-express ** auf localhost.
** MongoDB ** ist NoSQL ** mongo-express ** ist wie ** phpMyAdmin ** in MySQL. Der Inhalt von ** MongoDB ** ist leichter zu sehen.
docker-compose.yml
# Use root/example as user/password credentials
version: "3.1"
services:
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root #Nutzername
MONGO_INITDB_ROOT_PASSWORD: tree #Passwort
ports:
- 27014:27017
volumes:
- ./db:/data/db
- ./configdb:/data/configdb
mongo-express:
image: mongo-express
restart: always
ports:
- 8080:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root #Nutzername
ME_CONFIG_MONGODB_ADMINPASSWORD: tree #Passwort
Im Folgenden finden Sie grundlegende Informationen zum Schreiben der Datei ** docker-compose.yml **. https://docs.docker.com/compose/compose-file/
Siehe unten für ** Ports ** Spezifikationen https://qiita.com/tksugimoto/items/23fcce1b067661e8aa46#%E6%A4%9C%E8%A8%BC%E7%B5%90%E6%9E%9C
Die Datenbankdatei wird an dem durch ** Datenträger ** angegebenen Speicherort erstellt. Wenn sich in ** sample / docker-compose.yml ** eine Datei befindet, werden ** sample / db ** und ** sample / configdb ** erstellt.
How To Use
whoami$ pwd
/Users/whoami/sample
whoami$ ls
docker-compose.yml
whoami$ docker-compose up -d // -d bedeutet mit Daemon ausführen
Creating network "sample_default" with the default driver
Creating sample_mongo-express_1 ... done
Creating sample_mongo_1 ... done
whoami$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1aeb90deadd0 mongo "docker-entrypoint.s…" 23 seconds ago Up 22 seconds 0.0.0.0:27014->27017/tcp sample_mongo_1
6649bb697412 mongo-express "tini -- /docker-ent…" 23 seconds ago Up 9 seconds 0.0.0.0:8080->8081/tcp sample_mongo-express_1
whoami$ docker-compose down
Stopping sample_mongo_1 ... done
Stopping sample_mongo-express_1 ... done
Removing sample_mongo_1 ... done
Removing sample_mongo-express_1 ... done
Removing network sample_default
whoami$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Öffnen Sie nach ** docker-compose up -d ** [http: // localhost: 8080 /] in Ihrem Browser und Sie finden dort ** mongo-express **.
** MongoDB ** funktioniert nicht, wenn die Portnummer zu viel angegeben ist. Ich glaube, ich habe einen Artikel über Dockers MongoDB-Port gesehen, der nur 27017 ist. Es scheint, dass Mongo-Express nur in der Entwicklungsumgebung mit Docker verwendet werden kann.
Ich werde auch eine Methode schreiben, um über Node.js eine Verbindung zur neu erstellten MongoDB herzustellen.
https://hub.docker.com/_/mongo
https://hub.docker.com/_/mongo-express