在构建 Docker 镜像时,如果使用 Multi Stage,最终会将命令和库 COPY 到 Alpine 中执行。好处包括:
下面说一下我在使用 Alpine 时遇到的问题及解决方法。
解决方法:
xxxxxxxxxx
# 设置时区
ENV TZ Asia/Shanghai
# 安装时区数据
RUN apk -U upgrade && apk add tzdata && cp /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone
解决方法:
x# 需要先获取 PingFang 字体,macOS 上在 /System/Library/Fonts/PingFang.ttc
COPY PingFang.ttc /usr/share/fonts/PingFang.ttc
# 删除安装缓存包;刷新字体;验证
RUN apk add --update fontconfig && rm -rf /var/cache/apk/* && mkfontscale && mkfontdir && fc-cache && fc-list
解决方法:
# 切换国内镜像源
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories