Постоянный том Kubernetes на Docker Desktop (Windows)
Я использую Docker Desktop на Windows 10. В целях разработки я хочу открыть локальную папку для контейнера. Когда я запускаю контейнер в Docker, я делаю это, задавая флаг тома (-v).
Как мне добиться того же при запуске контейнера в Kubernetes?
3 ответа
Вы должны использовать тип тома hostpath в спецификации вашего модуля, чтобы смонтировать файл или каталог из файловой системы узла, где поле hostPath.path должно иметь следующий формат для принятия путей, подобных Windows:
- / Вт / приложение Foo /influxdb
- // W / приложение Foo /influxdb
- ///// Вт / приложение Foo /influxdb
Пожалуйста, проверьте эту проблему, объясняющую особенности томов Kubernetes в Windows. Я также предполагаю, что вы включили функцию общих дисков в вашей установке Docker для Windows.
Используя k8s 1.21.5, у меня работал следующий тип пути:
/run/desktop/mnt/host/c/PATH/TO/FILE
Копание в этой проблеме с github помогло мне решить, какой путь использовать: https://github.com/kubernetes/kubernetes/issues/59876 .
Объяснение находится по ссылке на github выше.
Папка для монтирования не существует в дистрибутиве, который вы установили в WSL2 — в этом дистрибутиве WSL2 точка монтирования на ваш диск C:\ более очевидна.
/mnt/c
.Учтите, что Kubernetes и Docker не установлены в установленном дистрибутиве WSL2. Вместо этого Docker Desktop для Windows создает собственную виртуальную машину WSL2 с именем и устанавливает Docker и Kubernetes на эту виртуальную машину. Затем Docker Desktop для Windows устанавливает
docker
иkubectl
CLI в вашем дистрибутиве WSL2 (а также на вашем компьютере с Windows) и настраивает их все так, чтобы они указывали на экземпляры Docker и Kubernetes, созданные на виртуальной машине. Эта виртуальная машина docker-desktop размещает Docker и Kubernetes, а также содержит точку подключения к вашему диску Windows C:\, которая может использоваться вашими контейнерами для сохранения данных.Вы можете удаленно в
docker-desktop
ВМ и увидеть/run/desktop/mnt/host/c
точку монтирования и структуру папок, следуя инструкциям (и обсуждению) на /questions/48750409/ekvivalent-minikube-ssh-s-doker-uzlom-kubernetes-dlya-rabochego-stola/55491013#55491013:docker run -it --rm --privileged --pid=host justincormack/nsenter1