Su secuencia de comandos de inicio no debe inicializar ni monitorear el conjunto de réplicas; esas deberían ser tareas manuales.
Debes tener en cuenta que:
- iniciar un conjunto de réplicas es estrictamente un trabajo único; una vez iniciado, el servicio MongoDB, cuando se reinicie, seguirá formando parte del mismo conjunto de réplicas.
- un conjunto de réplicas normalmente contiene varios nodos que deben ser intercambiables; si cada uno de ellos intenta inicializar el conjunto de réplicas al inicio, arrojarán errores
- reiniciar un servicio es un comportamiento normal y esperado; por ejemplo, cuando actualiza a la próxima versión de MongoDB, o después de que los parches en el host de su servidor requieran un reinicio, o después de un corte de energía
- si su secuencia de comandos intenta inicializar un conjunto de réplicas ya inicializado cada vez que inicia el servicio MongoDB, arrojará errores
Le recomiendo encarecidamente que realice tres cambios:
- Deje que su contenedor mongo simplemente ejecute mongo, sin los pasos para iniciar y monitorear el conjunto de réplicas.
- Si desea ejecutar un conjunto de réplicas, inícielo con cuidado y de forma manual controlada; ídem si desea agregar/eliminar nodos o reconfigurar.
- Si desea monitorear el estado de su conjunto de réplicas, use una herramienta separada para hacerlo; deje que el servicio mongo simplemente haga su trabajo normal.