Je ne veux pas télécharger la base de données dans un environnement local tel que Mac lors du développement d'une application, j'utilise donc un outil de gestion de conteneurs appelé Docker. Parce que la transition est facile. Je veux l'utiliser dans l'environnement de production dans les montagnes, mais je n'ai pas la connaissance de Kubernetes, donc j'ai l'impression que je ne peux pas vraiment y entrer. Eh bien, cela dépend de l'échelle.
Cet article est comme un exemple de construction de ** MongoDB ** à l'aide de ** Docker **. Il n'y avait rien d'autre qui était facile à comprendre, et je me souviens l'avoir vérifié quand je l'ai fait.
L'environnement d'exploitation est Mac OS Catalina
Goal Créez un fichier ** docker-compose.yml ** et définissez ** MongoDB ** et ** mongo-express ** sur localhost.
** MongoDB ** est NoSQL ** mongo-express ** est comme ** phpMyAdmin ** dans MySQL. Le contenu de ** MongoDB ** est plus facile à voir.
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 #Nom d'utilisateur
MONGO_INITDB_ROOT_PASSWORD: tree #mot de passe
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 #Nom d'utilisateur
ME_CONFIG_MONGODB_ADMINPASSWORD: tree #mot de passe
Voir ci-dessous pour l'écriture de base du fichier ** docker-compose.yml **. https://docs.docker.com/compose/compose-file/
Voir ci-dessous pour les spécifications des ** ports ** https://qiita.com/tksugimoto/items/23fcce1b067661e8aa46#%E6%A4%9C%E8%A8%BC%E7%B5%90%E6%9E%9C
Le fichier de base de données sera créé à l'emplacement spécifié par ** volumes **. S'il y a un fichier dans ** sample / docker-compose.yml **, ** sample / db ** et ** sample / configdb ** seront créés.
How To Use
whoami$ pwd
/Users/whoami/sample
whoami$ ls
docker-compose.yml
whoami$ docker-compose up -d // -d signifie exécuter avec le démon
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
Après ** docker-compose up -d **, ouvrez [http: // localhost: 8080 /] dans votre navigateur et vous y trouverez ** mongo-express **.
** MongoDB ** ne fonctionnera pas si le numéro de port est trop spécifié. Je pense avoir vu un article sur le port MongoDB de Docker à seulement 27017. Il semble que mongo-express ne puisse être utilisé que dans l'environnement de développement avec docker.
J'écrirai également une méthode pour me connecter au MongoDB nouvellement créé à partir de Node.js.
https://hub.docker.com/_/mongo
https://hub.docker.com/_/mongo-express