Kubernetes share a directory from your local system to kubernetes container

Akshay Sood picture Akshay Sood · Aug 27, 2018 · Viewed 8.6k times · Source

Is there any way to share the directory/files to kubernetes container from your local system?

I have a deployment yaml file. I want to share the directory without using kubectl cp.

I tried with configmap but I later came to know that configmap can not have the whole directory but only a single file.

If anyone has any idea please share.

Please note: I do not want to host the file into minikube but I want to push the directory directly to container

Answer

Akshay Sood picture Akshay Sood · Aug 28, 2018

I found a way.

We can specify the directory we want to add into container by using hostPath in 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