问题描述

在我尝试使用docker来作为我的博客的dev环境时,当执行rake generate来生成octopress时,遇到以下错误。

jekyll 2.5.3 | Error:  invalid byte sequence in US-ASCII

问题原因

主要原因在于,容器的locale设置有问题。

root@970a2ef4b565:/# locale  
LANG=  
LANGUAGE=  
LC_CTYPE="POSIX"  
LC_NUMERIC="POSIX"  
LC_TIME="POSIX"  
LC_COLLATE="POSIX"  
LC_MONETARY="POSIX"  
LC_MESSAGES="POSIX"  
LC_PAPER="POSIX"  
LC_NAME="POSIX"  
LC_ADDRESS="POSIX"  
LC_TELEPHONE="POSIX"  
LC_MEASUREMENT="POSIX"  
LC_IDENTIFICATION="POSIX"  
LC_ALL=  

解决方法

在Docker镜像文件中增加如下内容

ENV LC_ALL C.UTF-8

注:我这里使用的base镜像是

FROM golang:1.6.3

完整的Dockerfile可以在github上查看

本文链接: https://xzdbd.com/blog/how-to-resolve-invalid-byte-sequence-in-us-ascii-error-in-octopress参与评论»

–EOF–