#docker #kubernetes #volume #wsl-2 #persistent-volumes
Вопрос:
Я использую Docker Desktop и Docker Kubernetes с WSL2 (Ubuntu 20.04). У меня есть файл yaml для постоянного тома, который монтирует том в /mnt/data. Где это находится, так как нет ничего, когда я делаю «ls /mnt/данные» в WSL даже как sudo?
hostPath: path: "/mnt/data"
ls /mnt/данные
ls: не удается получить доступ к ‘/mnt/данным’: Такого файла или каталога нет
Ваше здоровье.
Ответ №1:
Возможно, вам потребуется добавить диск, к которому вы пытаетесь получить доступ, в путь. Например, если вы пытаетесь получить доступ к диску C:
путь: «/mnt/c/данные»
Вы можете перепроверить, войдя в свой путь /mnt и выполнив ls
команду, чтобы увидеть все каталоги.
Комментарии:
1. Привет, Альваро. Хранилище было подготовлено и использовано для базы данных, это сохраняется между развертываниями/контейнерами, но я понятия не имею, где оно хранится. Если я изменю путь на /mnt/c/data, то он просто снова будет сохранен в этом скрытом месте, а не в /mnt/c/data и будет виден в WSL. Внутри «/mnt/» находятся только C: и общий доступ WSL, поэтому он не выглядит так, чтобы скрываться в mnt.
2. Я не знаю, правильно ли я понимаю ваш вопрос, но ваши данные хранятся внутри созданного вами контейнера docker, а не в вашем wsl. В вашем случае, если вы получите доступ к своему контейнеру, как я упоминал ранее, вы должны быть в состоянии это сделать (cd /mnt/данные), и там должны быть все данные
Ответ №2:
Данные хранятся не на вашей локальной машине, а на рабочем узле, на котором работает ваш кластер, например, на виртуальной машине minikube. Вам нужно подключиться к этой машине, чтобы найти данные.
Например, для миникуба:
minikube ssh ls /mnt/data
Комментарии:
1. Он не пишет, что использует миникуб, верно?
2. В последний раз, когда я проверял Docker Desktop, он ссылался на minikube для запуска Kubernetes в Windows, но это было давно. Дело в том, что данные будут храниться на «виртуальной машине», которая является рабочим узлом. Обновил свой ответ.