Estoy tratando de ejecutar esto, después de crear la carpeta \data\MongoDb\database y compartirla con todos (Windows 10 no parece querer compartir con el sistema local, pero eso debería funcionar de todos modos)
Se bloquea al intentar crear el contenedor con un 'Error de creación de contenedor'. Creo que de alguna manera especifiqué la asignación sobre cómo montar el reclamo. Estoy intentando /data/db, que he confirmado que hay datos allí si Elimino la parte 'volumeMounts' en la parte inferior, pero si no tengo eso, ¿cómo sabe que es donde quiero que esté montado? Parece que no monta esa carpeta si no la agrego, y el servidor funciona bien en ese caso, pero por supuesto, tiene los datos dentro del servidor y cuando se apaga y hace una copia de seguridad ¡POOF! van tus datos.
Aquí está el archivo YAML que estoy usando
apiVersion: v1 kind: Service metadata: name: mongodb labels: app: mongodb spec: ports: - port: 27017 targetPort: 27017 selector: app: mongodb type: LoadBalancer externalIPs: - 192.168.1.9 --- apiVersion: v1 kind: PersistentVolume metadata: name: mongo-storage labels: type: local spec: capacity: storage: 5Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: manual hostPath: path: c:/data/mongodb/database --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pv-mongo-storage spec: accessModes: - ReadWriteOnce storageClassName: manual resources: requests: storage: 5Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: mongodb labels: app: mongodb spec: replicas: 1 selector: matchLabels: app: mongodb template: metadata: labels: app: mongodb spec: containers: - name: mongo2 image: mongo ports: - containerPort: 27017 name: mongodb env: - name: MONGO_INITDB_ROOT_USERNAME value: xxx - name: MONGO_INITDB_ROOT_PASSWORD value: xxxx - name: MONGO_INITDB_DATABASE value: defaultDatabase volumeMounts: - mountPath: "/data/db" name: mongo-storage volumes: - name: mongo-storage persistentVolumeClaim: claimName: pv-mongo-storageSupongo que también hay una forma mucho mejor de establecer la contraseña en el contenedor MongoDb... Esta es la única forma que he visto que funcionó hasta ahora... Oh, también probé mountPath sin el "alrededor" porque 1. eso tiene más sentido para mí, y 2 algunos de los ejemplos lo hicieron de esa manera... Sin suerte
El error que recibo es 'modo no válido: /data/db', lo que implicaría que la imagen no puede montar esa carpeta porque tiene el modo incorrecto... Por otro lado, ¿es porque el host es Windows? ?
No sé... Espero que pueda montarlo bajo Windows...
Agregar esto de los comentarios para que sea visible para una comunidad.
Docker Desktop para Windows ofrece la posibilidad de acceder a archivos/directorios de Windows desde contenedores Docker. Los directorios de Windows se montan en un contenedor docker en /run/desktop/mnt/host/ dir.
Por lo tanto, debe especificar la ruta a su directorio db en el host de Windows ( c:/data/mongodb/database ) como:
/run/desktop/mnt/host/c/data/mongodb/databaseEsto solo es específico de Docker Desktop para Windows.