代码之家  ›  专栏  ›  技术社区  ›  Bojan Vukasovic

kubernetes-mount只读共享可写

  •  -3
  • Bojan Vukasovic  · 技术社区  · 7 年前

    我正在使用此配置安装对Docker映像为只读的驱动器:

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

    当我试图将(mkdir)写入docker image中的这个文件夹(它是虚拟盒只读安装的文件夹)时,我得到:

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

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

    是否可以在Docker容器中以某种方式使此文件夹可写?不需要将更改传播到hostpath。我读了一些关于覆盖的东西,但我不知道如何在KubernetesYaml中指定它。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Marcin Romaszewicz    7 年前

    您不能通过kubernetes卷装载来完成这项工作,因为它们只处理卷。您需要做的是在主机上创建一个可写的覆盖文件系统,然后用另一个可写路径将其映射到kubernetes中。

    你想创造一些 /mnt/writable_sf_C_drive 通过安装 /media/sf_C_DRIVE 如果在它上面加上一个覆盖,那么您在kubernetes中的卷装载将装载 /mnt/writable_sf_C_DRIVE.

    有一些说明 here

    推荐文章