Dockerfile编码是哪一个?
定义我的Dockerfile
我到了这一行:
... MAINTAINER Ramón <ramon@example.com> ...
我应该使用哪种编码来保存这个文件?
我应该逃避非ASCII字符?
考虑到Docker是在Go中完成的,而Go对utf-8有本地支持 ,所以最好保存一个直接用UTF-8编码的Dockerfile。
这样, 所有字符(ASCII或不)都被支持。
请参阅“ 在Go中处理编码 ”。
即使Go对UTF-8有很好的支持(并且对UTF-16的支持最less),但它没有内置的对任何其他编码的支持。
如果您必须使用其他编码(例如在处理用户input时),则必须使用第三方包,例如go-charset 。
在这里,最好是Dockerfile直接用UTF-8编码。
Docker 1.12-rc5增加了2016年7月更新:
- PR 23372 :支持parseWords中的unicode字符
- PR 23234 :如果存在,则从Dockerfile和.dockerignore跳过UTF-8 BOM字节
你需要正确设置区域设置,删除重音,用基本的docker run -it container env
检查编码,然后把正确的编码,这个“圣经”是http://jaredmarkell.com/docker-and-语言环境/