运行Alpine Linux的Docker容器中的rrdgraph中的自定义字体

时间:2016-06-22 17:17:32

标签: linux docker fonts rrdtool alpine

我无法使用rrdgraph中的标准字体以外的其他字体。

这可能与这个事实有关,这个阿尔卑斯山没有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"]

但它不起作用。我甚至不确定如何使用环境变量全局更改字体。我尝试过(使用env vars在网上发布的一些东西),但它没有用。

我真的很喜欢使用ttf字体,但如果有必要的话会与包中的字体结算。

我正在使用py-rrd包中的rrdtool lib。

有没有人知道如何让这个工作?

1 个答案:

答案 0 :(得分:0)

RRDtool使用fontconfig访问字体...以查看您可以使用的系统上可用的字体

fc-list

要配置fontconfig查找字体的位置,您可能需要在家庭目录中修改/etc/fonts/...~/.fonts.conf.d

要刷新字体列表,请运行

fc-cache

请注意,字体支持独立于X11。