当我在 ubuntu_tini_image
的容器中 install_anaconda
,遇到了一个和底层文件系统 区分大小写
兼容性问题:
- macOS的 APFS 在操作系统安装时,默认配置了
case insensitive
,也就是不区分大小写 - 当使用
docker_volume
将macOS上的文件系统目录映射到容器内部时,由于Linux文件系统是区分大小写的,所以在一些情况下会出现错乱,例如install_anaconda
安装报错,类似找不到文件等情况
验证方法可以采用类似如下:
macos_apfs_case-sensitive/check_filesystem_case_sensitive
apfs
使用了 Containter 容器来分隔文件系统,类似于 zfs
和 btrfs
的子卷
Note
虽然 macOS 内置的 Disk Utility
也能够创建分区,但是APFS并不推荐使用分区:
- 类似
zfs
,整个磁盘都是一个大的存储池,只需要通过子卷来分隔系统,可以充分使用磁盘 - 只有在同一个Mac上安装其他操作系统,如Linux时候,才需要使用分区创建
- 在APFS上添加子卷:
注意创建子卷要选择 APFS (Case-sensitive)
格式:
现在,就可以重新创建 ubuntu_tini_image
的运行容器,映射新创建的区分大小写文件系统到容器内部,就不会导致Linux文件的问题