Quiero cerrar el shell de mongo después de ejecutar lo siguiente en un comando docker:
#!/bin/bash docker run -it --link sonams-mongo:mongo --rm mongo sh -c 'exec mongo "$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/test"' if [ $? -eq 0 ]; then \ echo "connected to mongo successful"; \ else \ echo "mongo connection NOT successful"; \ fi; \Cuando se conecta, va a un indicador de shell dentro de mongo. ¿Hay alguna manera de pasar un comando de shell para salir justo en o después del comando docker?
Gracias
Por lo general (por supuesto, depende de la imagen base que esté usando) no necesitará invocar "sh -c". Además, la combinación -it suele ser lo que hace que el shell se abra y espere la entrada. Intente cambiar su comando un poco, como a continuación, sin -it y sh -c :
docker run --link sonams-mongo:mongo --rm mongo mongo "$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/test"si eso no ayuda, intente esto:
echo "$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/test" | docker run --link sonams-mongo:mongo --rm mongo mongo