Kubernetes-挂载只读共享为可写

时间:2018-08-01 15:10:41

标签: docker kubernetes readonly overlays writable

我正在使用此配置来挂载对docker image只读的驱动器:

volumes:
  - name: drive-c
    hostPath:
      path: /media/sf_C_DRIVE
containers:
  ...
    volumeMounts:
    - name: drive-c
      mountPath: /c

当我尝试将(mkdir)写入docker镜像中的该文件夹(这是虚拟盒只读安装的文件夹)时,我得到:

mkdir: can't create directory 'somedir': Read-only file system

可以,因为这是只读文件系统(C_DRIVE on /c type vboxsf (rw,nodev,relatime)

是否有可能使该文件夹在Docker容器内可写?更改无需传播到hostPath。我读了一些有关overlayfs的内容,但是我不确定如何在Kubernetes yaml中指定它。

1 个答案:

答案 0 :(得分:1)

您不能通过Kubernetes卷安装来执行此操作,因为它们只是在卷上工作。您需要做的是在主机上创建一个可写的覆盖文件系统,然后将其映射到具有其他可写路径的Kubernetes。

您想通过安装delim_whitespace及其上面的覆盖层来创建类似my_data = pd.read_csv('filename', delim_whitespace=True) 的内容,然后在Kubernetes中安装卷/mnt/writable_sf_C_drive

有一些说明here