在卷安装目录中找不到文件

Can't find files inside volume mount directory

我有一个 mysql 容器,我正在通过 k8s 部署,我正在其中安装一个包含脚本的目录,一旦 pod 启动并且 运行ning 计划是执行它脚本。

apiVersion: apps/v1
kind: Deployment
spec:
   replicas: 1
   template:
      spec:
         volumes:
           - name: mysql-stuff
             hostPath:
                path: /home/myapp/scripts
                type: Directory
         containers:
           - name: mysql-db
             image: mysql:latest
             volueMounts:
               - name: mysql-stuff
                 mountPath: /scripts/

一旦我准备好了 运行ning 和 运行 kubectl exec -it mysql-db -- bin/shls scripts 它 returns 什么都没有,应该在里面的脚本是不在那里,我无法弄清楚为什么..为了让这个工作,我没有添加任何安全上下文,并且 运行 将容器设置为 root。任何帮助将不胜感激。

因为你是 运行 你在 minikube 集群中的 pod。 Minikube 本身是 运行 在 VM 中,所以这里的路径映射意味着 minikube VMs 的路径而不是你的实际主机。

但是您可以将您的实际主机路径映射到 minikube 路径,然后它就可以访问了。

minikube mount /home/myapp/scripts:/home/myapp/scripts

在这里查看更多 https://minikube.sigs.k8s.io/docs/handbook/mount/