Монтировать локальный каталог в pod в minikube

Я запускаю minikube v0.24.1. В этом minikube, я создам Pod для моего приложения с nginx. А также я хочу передать данные из моего локального каталога.

это означает, что я хочу установить свой локальный $HOME/go/src/github.com/nginx в моем коконе

Как я могу это сделать?

apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - image: nginx:0.1
    name: nginx
    volumeMounts:
    - mountPath: /data
      name: volume
  volumes:
  - name: volume
    hostPath:
      path: /data

3 ответов


вы не можете напрямую подключить локальный каталог в свой стручок.

во-первых, вам нужно смонтировать каталог $HOME/go/src/github.com/nginx на ваш minikube.

$ minikube start --mount-string="$HOME/go/src/github.com/nginx:/data"

тогда, если вы монтируете /data в ваш Pod с помощью hostPath вы получите данные локального каталога в Pod.

здесь другой способ

Хоста $HOME каталог монтируется в minikube . Здесь вы получите свои данные

$ ls -la /hosthome/go/src/github.com/nginx

так смонтируйте этот каталог, вы можете изменить hostPath вашего стручка

hostPath:
  path: /hosthome/go/src/github.com/nginx

я попробовал решение aerokite, но узнал, что я должен пройти --mount а также --mount-string "local-path:minikube-path" для монтирования каталога в minikube.

minikube start --mount-string ${HOME}/go/src/github.com/nginx:/data --mount. Потратил некоторое время, выясняя это.


Я нашел способ.

таким образом, вы можете напрямую подключить каталог к контейнеру. Сначала вам не нужно монтировать каталог в minikube.

мы можем указать каталог, который мы хотим добавить в контейнер, используя hostPath на volumes

  volumeMounts:
    - name: crypto-config
      mountPath: <PATH IN CONTAINER>
    - name: channel-artifacts
      mountPath: /opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts
    - name: chaincode
      mountPath: /opt/gopath/src/github.com/chaincode
  volumes:
    - name: crypto-config
      hostPath:
        path: <YOUR LOCAL DIR PATH>
    - name: channel-artifacts
      hostPath:
        path: /Users/akshaysood/Blockchain/Kubernetes/Fabric/network/channel-artifacts
    - name: chaincode
      hostPath:
        path: /Users/akshaysood/Blockchain/Kubernetes/Fabric/network/chaincode