我正在使用此配置来挂载对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中指定它。
答案 0 :(得分:1)
您不能通过Kubernetes卷安装来执行此操作,因为它们只是在卷上工作。您需要做的是在主机上创建一个可写的覆盖文件系统,然后将其映射到具有其他可写路径的Kubernetes。
您想通过安装delim_whitespace
及其上面的覆盖层来创建类似my_data = pd.read_csv('filename', delim_whitespace=True)
的内容,然后在Kubernetes中安装卷/mnt/writable_sf_C_drive
有一些说明here