我基本使用基于alpine的镜像,故以此镜像为例。
一、时区问题:
鉴于Docker Hub官方的Image都是0时区的,不符合中国东八区。
建议:
- 如果直接使用官方镜像,在启动时,直接加入环境变量
-e "TZ=Asia/Shanghai"
; - 如果定制自己的镜像,在Dockerfile里加入修改时区的操作。
二、宋体中文支持:
1、Docker容器里面修改:
- 查看系统是否已经安装中文字体:
fc-list :lang=zh
,一般都是没有结果 - 安装字体软件:
apk add ttf-dejavu fontconfig
- 查看所有字体:
fc-list
,会显示字体目录为/usr/share/fonts
- 将我们需要的字体放入字体目录中,比如宋体Simsun.ttf(可以从网上下载)
- 启用字体:
fc-cache
- 再次查看是否已安装中文字体:
fc-list :lang=zh
,会显示/usr/share/fonts/SimSun.ttf: SimSun,宋体:style=Regular
2、写入Dockerfile,直接生成镜像:
在Dockerfile中,加入以下两句,镜像启动的时候就会已包含中文宋体。
RUN apk add --update --no-cache ttf-dejavu fontconfig && rm -rf /var/cache/apk/*
COPY simsun.ttf /usr/share/fonts/simsun.ttf
三、APK安装软件速度慢:
Linux服务器默认软件源都是官方源在国外,国内访问慢的很,影响Docker build 的效率。
1、直接修改软件源文件
在Dockerfile中加入run sed命令,替换软件源为阿里云:
RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories
然后你肯定要安装软件,可以使用下面命令 先update 后安装:
RUN apk add --update --no-cache ttf-dejavu fontconfig && rm -rf /var/cache/apk/*
2、安装软件命令apk后添加源地址
这个可能不会全部生效,可能某些还会去找官方源地址,所以不太建议使用。
apk add php7 --repository http://nl.alpinelinux.org/alpine/edge/testing/
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 lxwno.1@163.com