問題描述 :筆者做一些圖片水印處理,代碼如下,需要的是中文微軟雅黑的支持,winodws平臺運行無誤,docker容器運行亂碼。
// 設置水印字體樣式
Font font = new Font("微軟雅黑", Font.BOLD, 30);
問題定位:docker 容器沒有對微軟雅黑的支持導致。
問題處理方案:
1.通過DockerFile添加微軟雅黑到容器運行環境
COPY msyh.ttc /usr/share/fonts/msyh.ttc
2. 通過docker-compose.yml掛載字體到容器內部(這裏只截取部分關鍵代碼)
volumes:
- "/home/logs/infrastructure_cloud_gateway:/var/log"
# 掛載微軟雅黑字體到容器內部
- "./fonts/MSYH.TTC:/usr/share/fonts/msyh.ttc"
最終進入容器查看 是否掛載成功!
最終解決了docker容器中文亂碼問題