Как смонтировать каталог в windows на контейнере с Kubernetes на Docker для Windows?

Я использую Docker для Windows 2.3.0.4 (стабильная версия) с поддержкой WSL2 в Windows 10 версии 2004 и с включенной поддержкой Kubernetes.

Я пытаюсь создать следующий модуль:

apiVersion: v1
kind: Pod
metadata:
  name: api0
spec:
  volumes:
    - name: "mongo-data"
      hostPath:
        path: "/c/wr/volumes/mongo/data"
  containers:
  - name: db
    image: mongo:3.6.19-xenial
    volumeMounts:
      - mountPath: "/data/db"
        name: "mongo-data"
    resources:
      limits:
        memory: "512Mi"
        cpu: "1"
    ports:
      - containerPort: 27017

У меня проблема с томом mongo-data; когда модуль создается с помощью kubectl apply -f api0.yml, модуль работает правильно, а коллекции MongoDB сохраняются после удаления и повторного применения модуля.

Но путь C:\wr\volumes\mongo\data, подключенный к контейнеру mongo db, не содержит файлов данных и всегда пуст

Как я упоминал ранее, состояние сохраняется где-то, но не по указанному пути.

Что я упустил?

Я попытался указать путь в следующих форматах:

  • /c/wr/тома/монго/данные
  • //c/wr/тома/монго/данные
  • //////c/wr/тома/монго/данные
  • /mnt/c/wr/тома/монго/данные

И я даже пытался сослаться на путь /opt/data в файловой системе wsl, но файлов данных там никогда не было.


person Chedy2149    schedule 17.08.2020    source источник
comment
Следили ли вы за stackoverflow.com/questions/50018812 / чтобы убедиться, что диск является общим?   -  person Sven Hakvoort    schedule 17.08.2020
comment
Да, диск C является общим, и я могу монтировать каталоги под C: в контейнеры docker с помощью docker cli.   -  person Chedy2149    schedule 18.08.2020
comment
как именно вы проверяете, пусто ли C:\wr\volumes\mongo\data? Вы пытались остановить модуль, переместить эту папку в другое место, а затем создать папку с нуля, запустить модуль и проверить, сохраняются ли все коллекции?   -  person Nick    schedule 18.08.2020
comment
Я проверяю содержимое папки в проводнике Windows. Скрытые файлы @Nick?   -  person Chedy2149    schedule 18.08.2020
comment
Пожалуйста, добавьте файлы конфигурации PV и PVC.   -  person Nick    schedule 18.08.2020
comment
kubectl get pods api0 -o wide даст вам узел, на котором работает контейнер. У вас есть только один узел Windows или несколько? Вы проверяете правильный узел? что говорит kubectl describe pod api0? Вы видите там правильное монтирование томов? Вы можете войти в модуль и проверить, не пусто ли /data/db?   -  person Nick    schedule 18.08.2020
comment
@ Chedy2149 Chedy2149 У меня такая же проблема, вы смогли ее решить?   -  person Coderji    schedule 16.01.2021
comment
@coderji, к сожалению, нет   -  person Chedy2149    schedule 17.01.2021