Docker 容器中的 rrdgraph 中的自定义字体 运行 Alpine Linux
Custom fonts in rrdgraph in a Docker container running Alpine Linux
除了 rrdgraph 中的标准字体,我无法使用其他字体。
这可能与这个 Alpine 没有 GUI(所有 X-stuff)有关,我不知道。
我发现这个问题 https://bugs.alpinelinux.org/issues/1475 处理丢失的字体,但安装这些包没有帮助。
这是我的 Dockerfile
FROM alpine:3.3
RUN apk --update add \
build-base python-dev \
ca-certificates python \
py-pip \
py-jinja2 \
py-dateutil \
py-tz \
py-requests \
py-pillow \
py-rrd && \
pip install --upgrade arrow \
websocket-client \
XlsxWriter && \
apk del build-base python-dev && \
rm -rf /var/cache/apk/* && \
echo "iot"
CMD ["/bin/sh"]
我后来用 docker exec -it iot /bin/sh
手动添加了这些字体包
我试过
# rrd_graph_fmt += ["--font", "LEGEND:8:'/home/user/data/fonts/Roboto-Regulars.ttf'"]
# rrd_graph_fmt += ["--font", "LEGEND:8:font-sony-misc"]
但这就是行不通。我什至不确定如何使用环境变量全局更改字体。我试过了(网上有些东西有环境变量),但没用。
我真的很喜欢使用 ttf 字体,但如果需要的话,我会选择使用软件包中的字体。
我正在使用 py-rrd 包中的 rrdtool 库。
有人知道如何让它工作吗?
RRDtool 使用 fontconfig 访问字体...查看您的系统上可用的字体,您可以使用
fc-list
要配置 fontconfig 应在何处查找字体,您可能需要在主目录中编辑 /etc/fonts/...
或 ~/.fonts.conf.d
。
要刷新字体列表,运行
fc-cache
请注意,字体支持独立于 X11。
除了 rrdgraph 中的标准字体,我无法使用其他字体。
这可能与这个 Alpine 没有 GUI(所有 X-stuff)有关,我不知道。
我发现这个问题 https://bugs.alpinelinux.org/issues/1475 处理丢失的字体,但安装这些包没有帮助。
这是我的 Dockerfile
FROM alpine:3.3
RUN apk --update add \
build-base python-dev \
ca-certificates python \
py-pip \
py-jinja2 \
py-dateutil \
py-tz \
py-requests \
py-pillow \
py-rrd && \
pip install --upgrade arrow \
websocket-client \
XlsxWriter && \
apk del build-base python-dev && \
rm -rf /var/cache/apk/* && \
echo "iot"
CMD ["/bin/sh"]
我后来用 docker exec -it iot /bin/sh
我试过
# rrd_graph_fmt += ["--font", "LEGEND:8:'/home/user/data/fonts/Roboto-Regulars.ttf'"]
# rrd_graph_fmt += ["--font", "LEGEND:8:font-sony-misc"]
但这就是行不通。我什至不确定如何使用环境变量全局更改字体。我试过了(网上有些东西有环境变量),但没用。
我真的很喜欢使用 ttf 字体,但如果需要的话,我会选择使用软件包中的字体。
我正在使用 py-rrd 包中的 rrdtool 库。
有人知道如何让它工作吗?
RRDtool 使用 fontconfig 访问字体...查看您的系统上可用的字体,您可以使用
fc-list
要配置 fontconfig 应在何处查找字体,您可能需要在主目录中编辑 /etc/fonts/...
或 ~/.fonts.conf.d
。
要刷新字体列表,运行
fc-cache
请注意,字体支持独立于 X11。