#docker #kubernetes #minikube
#docker #kubernetes #мини-куб
Вопрос:
Я пытаюсь использовать kubernetes
для локального развертывания, используя minikube
, я хочу смонтировать общий каталог между хост-машиной и модулями. Для этого я пытаюсь смонтировать каталог minikube
. Но у меня уже был запущен minikube, на котором было запущено несколько развертываний. Я их удалил. Но каждый раз, когда я перезапускаю minikube с помощью mount, я получаю следующую ошибку
$ minikube start --mount-string="/var/log:/log" --mount
* minikube v1.14.2 on Ubuntu 18.04
* Using the docker driver based on existing profile
* Starting control plane node minikube in cluster minikube
* Restarting existing docker container for "minikube" ...
X Exiting due to GUEST_MOUNT_CONFLICT: Sorry, docker does not allow mounts to be changed after container creation (previous mount: '', new mount: '/var/log:/log)'
Вывод для kubectl get all равен
kubectl get all
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 2s
Что я здесь делаю не так. Мне нужно монтировать /var/log:/log
в своих модулях так же, как docker
Ответ №1:
Сначала вам нужно будет удалить контейнер minikube minikube delete
, после чего воссоздать контейнер с новым путем монтирования minikube start --mount-string="/var/log:/log" --mount
Проверьте эту проблему на Github для получения более подробной информации
Ответ №2:
Вы можете попробовать
$ minikube mount /Users/user/dir:/opt/dir
$ minikube ssh
$ ls /opt/dir # this should be mounted within minikube VM
и запустите minikube изначально без каких-либо флагов
$ minikube start
Ответ №3:
Ошибка, которую вы видите, возникает при попытке изменить конфигурацию монтирования в существующем кластере при использовании Docker. Docker не позволяет изменять тома после создания контейнера, и, следовательно, вы не можете изменить mount-string
включение minikube start
после того, как кластер уже создан. Дополнительную информацию и источник такого поведения можно найти здесь и здесь .