[英]Invalid unicode characters in docker for shared network volume
我正在使用 docker 在 python 中编写程序,并希望访问网络共享卷。 我的 docker-compose.yml 是:
version: '3.7'
services:
testpathdocker:
build:
context: .
dockerfile: Dockerfile
volumes:
- TechPlots:/opt/app/static
volumes:
TechPlots:
driver_opts:
type: "cifs"
o: "user=alg,password=123"
device: "//192.168.154.137/share/TechPlots"
共享文件夹中的文件名是波斯语。
当容器运行时,它们在容器中的名称不是实际的文件名,而是显示为无效字符,例如????.jpg
等问号。 我只是使用os.getdir(PATH_TO_SHARE)
按 python 列出目录。 我怎样才能解决这个问题?
我在本地计算机上复制了这些文件,并使用 docker 卷与 docker 共享它们并且工作正常。
所以问题的根源在于cifs
的工作方式。 显然,您应该在选项中使用iocharset=utf8
从网络正确读取 Unicode 文件名。 所以我将音量部分更改为:
volumes:
TechPlots:
driver_opts:
type: "cifs"
o: "iocharset=utf8,user=alg,password=123"
device: "//192.168.154.137/share/TechPlots"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.