Docker MongoDB mongo-express

Je souhaite utiliser MongoDB avec Docker

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

MongoDB

mongo-express

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

Commentaire

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 **.

Remarque

** 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.

Remarquer

J'écrirai également une méthode pour me connecter au MongoDB nouvellement créé à partir de Node.js.

Réf officiel

https://hub.docker.com/_/mongo

https://hub.docker.com/_/mongo-express

Recommended Posts

Docker MongoDB mongo-express
Installer Docker
Installez l'image docker mongodb et connectez-vous à partir de spring-boot