通过 Docker 自建 draw.io 在线图表编辑工具的服务
今天在使用 mac 时,发现想要拼接三张截图到一张图片上还有些困难:虽然电脑上有 Photoshop,但这个软件确实是太重了。于是找一些开源免费的平替产品,最后还是放弃。我在 Windows 上的使用习惯是:习惯性的输入 Win + R 输入 mspaint
打开画图工具,然后分别粘贴三张截图,要么把三张图片放一起直接截一张图,要么简单处理一下导出。今天在 mac 上属实是尴尬了。
但是马上想到 processon.com 的服务,用了一下发现从剪贴板?️直接粘贴图片到工作区这功能需要升级成 个人版
或 团队版
才行
啊这,还是太麻烦了。于是我就想到了 draw.io
自建,试试这个可不可以。
我使用 docker 镜像 fjudith/draw.io
,然后使用了 tag 是 14.4.9-alpine
的镜像
在我的 OpenWrt 路由器上测试
# docker pull fjudith/draw.io:14.4.9-alpine
不 pull 直接 docker run 亦可,会先检查本地是否有此镜像,如果没有才去默认 registry 下载
# docker run -d \
--name draw.io \
--restart unless-stopped \
-p 8083:8080 \
fjudith/draw.io:14.4.9-alpine
然后通过 http://10.10.10.1:8083/
访问。
然后发现,可以便捷的将几张截图拼在一起!截图/导出后使用。真的太赞了,针不戳~
使用过程中发现,默认语言是英文,如需改成默认简体中文,请看下文。
进入容器
# docker exec -it YOUR_CONTAINER_NAME bash
由于我用的镜像基础镜像是 alpine ,那么我先安装一下 vim 先,方便之后直接定位到指定行
# 更新 apk 索引
# apk update
# 安装 vim
# apk add vim
然后使用 vim 编辑文件 /usr/local/tomcat/webapps/draw/index.html
使用 vim 的语法 :set nu
显示行数,然后 :39
回车直接定位到 39 行,在 return result;
之前添加如下代码
result['lang'] = 'zh'; // 开启默认中文
result['browser'] = '1'; // 开启浏览器缓存,建议开启
result['mode'] = 'browser'; // 默认使用浏览器缓存,建议开启
下图更直观的展示了
再退出容器,重启容器 docker container YOUR_CONTAINER_NAME restart
,and then works! Enjoy it!