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