本教程基于 jupyter/datascience-notebook,适用其他容器。
# 查看所有 Docker 容器
docker ps -a
# 进入已经运行的 Jupyter 容器
docker exec -it CONTAINER_ID bash
本例中CONTAINER_ID为2e
# 切换到 matplotlib 的字体目录(find / -name "site-packages"可以查到路径)
cd /opt/conda/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf
# 下载 SimHei 字体文件
wget -O SimHei.ttf http://129.204.205.246/downloads/SimHei.ttf
# 返回上一级目录
cd ../../
# 修改 matplotlib 配置文件
vi matplotlibrc
# 在文件中进行如下修改:
# font.family: sans-serif # 去掉注释
# font.sans-serif: SimHei, DejaVu Sans, Bitstream Vera Sans # 去掉注释,并增加 SimHei
# axes.unicode_minus: False # 去掉注释,并将 True 改为 False
# 清除缓存
# 在 Jupyter 中运行以下代码,获取缓存目录
import matplotlib
matplotlib.get_cachedir()
# 在容器命令行中运行以下代码,清除获取的缓存/home/jovyan/.cache/matplotlib
rm -rf /home/jovyan/.cache/matplotlib
# 退出容器命令行
exit
# 提交更改后的容器为新的镜像
docker commit CONTAINER_ID my-datascience
# 运行新的镜像
docker run -it -v D:\数据分析:/home/jovyan/work -p 8888:8888 my-datascience