
所以我實際上想啟動我的 minikube 集群,並在 /data 上安裝一個特殊目錄。該目錄包含我的資料庫資料。
為此我嘗試:
minikube start \
--driver=docker \
--extra-config=apiserver.service-node-port-range=1-35000 \
--disk-size=5000mb \
--mount \
--mount-string="${PWD}/srcs/mysql/datas:/data"
實際上選項--mount
似乎--mount-string="${PWD}/srcs/mysql/datas:/data"
不起作用。沒有顯示警告或錯誤輸出,但是當我連接到計算機並將文件列表到 /data 時,什麼也沒有出現。我的目錄沒有掛載。
如果我使用以下命令掛載目錄:minikube mount ${PWD}/srcs/mysql/datas:/data
它可以工作,並且我可以在 /data 中列出我的資料。 (但我真的想在啟動時啟動它,現在我做錯了什麼)。
答案1
發布此社群 wiki 答案以表明該問題已透過以下方式解決:
我在刪除 Minikube 配置資料夾“~/.minikube”並更新到 Minikube v1.19.0 後重試,它可以工作:
minikube start --mount --mount-string="$(pwd):/src
“
為了檢查整個場景,我使用以下設定重現了它:
Ubuntu 20.04
Docker 20.10.7
KVM 4.2.1
Minikube
:v1.22.0
(使用相同的步驟測試了兩個版本)v1.19.0
我認為問題不是透過刪除~/.minikube
目錄或升級來解決的minikube
解決的,而是透過變更為已安裝的目標資料夾。
假設以下設定:
$ mkdir ~/test
$ echo "General Kenobi!" > ~/test/hello_there.txt
$ minikube start --mount --mount-string ~/test:/data
$ minikube ssh
$ ls -al /data
total 8
drwxr-xr-x 2 root root 4096 Jul 13 11:45 .
drwxr-xr-x 1 root root 4096 Jul 13 11:45 ..
$ minikube start --mount --mount-string ~/test:/src
<-- 注意目的地變化$ minikube ssh
$ ls -al /src
<-- 注意目的地變化
total 12
drwxrwxr-x 2 1003 1004 4096 Jul 13 11:42 .
drwxr-xr-x 1 root root 4096 Jul 13 11:47 ..
-rw-rw-r-- 1 1003 1004 16 Jul 13 11:42 hello_there.txt
可以看出,當掛載到 .txt 以外的目錄時,檔案顯示正確/data
。
附註!
上述場景僅出現在
--driver=docker
.成功--driver=kvm2
將資料安裝到/data
資料夾。
這可以minikube
與某些目錄的持久性有關。更多相關內容可以在這裡找到:
另一個旁注!
$ minikube mount
作為/data
目標資料夾工作正常。
其他資源: