因为公众号不支持mardown格式,平常写作又喜欢用markdown来写,所以需要一种工具将md转化成公众号上用的格式,dooc是目前用的比较多的,预定格式也多,支持自定义css,作为转换工具,必须得安装一个!
1.使用udocker 拉取镜像
udocker run -p 8088:80 --name=dooc doocs/md:latest-nginx
国内环境请使用镜像源仓库:
docker.io 中国可用镜像列表 | 高速可靠的 Docker 镜像资源
搜索 dooc/md ,dooc 分文md二进制版和Nginx 版,因为要修改端口,所以用Nginx 版然后复制镜像地址替代原地址。
首次运行出错:

提示 error.log、access.log 没有权限,因为要修改端口,就一起修改了。
进入容器环境 ,修改内部80端口为8088:
udocker run dooc /bin/sh
vi /etc/nginx/nginx.conf
注销掉error_lo、access_log行,自己用旧不要日志了。

保存后,再移走日志文件:
mv /var/log/nginx/error.log /var/log/nginx/error.log.bak
mv /var/log/nginx/access.log /var/log/nginx/access.log.bak
exit退出容器,重新运行:
udocker run -p 8088:80 dooc
浏览器打开网址:http://本机IP:2080
正常运行了

有个问题,尽管我们设置了外部端口,但是不起作用。不管我们外部映射什么样的端口,只要容器内部的端口是80,外部端口总是被映射成2080,如果有多个应用,内部都是80的话,外部端口都映射成2080,会造成端口冲突。
这里显示内部端口80冲突,外部访问用2080,整个手机上只能有一个应用使用80端口,只要被占用,其他应用就不能使用了,所以,为了解决端口冲突的问题,就需要修改docker应用内监听的80端口,改成其他的。
进入容器,编辑default.conf,将80端口改成其他的,比如8088:
vi /etc/nginx/conf.d/default.conf
保存重新运行容器即可。
udocker -p 8088:8088 dooc

2.设置自启动
mkdir $PREFIX/var/service/dooc
nano $PREFIX/var/service/dooc/run
添加内容如下:
#!/data/data/com.termux/files/usr/bin/sh
exec udocker run -p 8088:8088 dooc > /dev/null 2>&1
启动
chmod +x $PREFIX/var/service/dooc/run
自启动
sv-enable logseq
手动启动
sv up logseq
停止
sv down logseq
