Cómo iniciar un shell mongodb en contenedor docker?


Para iniciar el contenedor, estoy escribiendo el siguiente comando:

sudo docker run -i -t -p 28000:27017 mongo:latest /usr/bin/mongod --smallfiles

Pero quiero abrir el shell en este contenedor para escribir los comandos mongo. Qué comando debo ejecutar para hacer lo mismo?

Author: madhavi, 2015-10-05

2 answers

Puede ejecutar el shell interactivo de mongo ejecutando el siguiente comando:

docker run -it -p 28000:27017 --name mongoContainer mongo:latest mongo

De lo contrario, si su contenedor ya está en ejecución, puede usar el comando exec:

docker exec -it mongoContainer mongo
 70
Author: Vlad Z.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-20 16:53:51

Lo que yo también luché pero encontré una solución:

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

Ahora ha creado un contenedor Docker en ejecución con todo lo que necesita. Ahora, si desea conectarse desde cualquier cliente con un usuario administrador, simplemente ejecute este

mongo -u "user" -p "password" HOSTIP --authenticationDatabase "admin"
 2
Author: Alek Kras,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-12 15:47:39