Pour démarrer le conteneur, je tape la commande suivante:
Sudo docker run -i -t -p 28000:27017 mongo:latest /usr/bin/mongod --smallfiles
Mais je veux ouvrir le shell dans ce conteneur pour taper les commandes mongo. Quelle commande devrais-je exécuter pour faire la même chose?
Vous pouvez exécuter le shell mongo interactif en exécutant la commande suivante:
docker run -it -p 28000:27017 --name mongoContainer mongo:latest mongo
Sinon, si votre conteneur est déjà en cours d'exécution, vous pouvez utiliser la commande exec
:
docker exec -it mongoContainer mongo
La chose que j'ai lutté aussi, mais j'ai trouvé une solution:
docker pull mongo
docker run --name CONTAINERNAME --restart=always -d -p 8080:8080 mongo mongod --auth
Sudo docker exec -i -t CONTAINERNAME bash
mongo
use admin
db.createUser({user:"user", pwd:"password", roles:[{role:"root", db:"admin"}]})
exit && exit
Vous avez maintenant créé un conteneur Docker en cours d’exécution avec tout ce dont vous avez besoin. Maintenant, si vous voulez vous connecter depuis n'importe quel client avec un utilisateur admin, lancez simplement ceci
mongo -u "user" -p "password" HOSTIP --authenticationDatabase "admin"
Ceci est une autre manière: Ouvrez un nouveau terminal
mongo 127.0.0.1:28000
Votre shell mongo commence maintenant dans ce terminal.