使用 docker 部署 mdnice
使用 docker 部署 mdnice
Intro
最近 mdnice 的在線版使用開始需要登錄才能訪問,一方面我覺得我的文章會被保存的他們的服務器上,使用他們的平臺就能輕松拿到很多文章的數據,他們甚至是可以直接拿到 markdown 原始內容去別的平臺分享轉發,另外一方面也是覺得以后如果加了別的限制就沒有辦法使用,所以還是打算自己部署一下好了,前兩天看到“老法師昭昭”發的一個私有化部署的教程,可以參考前兩天轉發的文章?繞開登錄限制,私有化部署Markdown轉公眾號格式神器mdnice ,感覺挺好的與我的想法不謀而合,但是我的應用都是 docker 部署的,不想再通過文件的形式拷來拷去的,不方便移植,部署也不方便,于是就打算打包一個 docker 鏡像來用
Docker
mdnice 本身并沒有提供 docker 的支持,于是我 Fork 了一份增加了 docker 的支持,為了方便別的小伙伴做自定義和參考,給 mdnice 提了一個 PR,可以參考:https://github.com/mdnice/markdown-nice/pull/268
Dockerfile 如下:
FROM?node:12-alpine?AS?builder WORKDIR?/app#?install?and?cache?app?dependencies COPY?package.json?. RUN?yarnCOPY?.?. RUN?yarn?run?buildFROM?nginx:alpineCOPY?--from=builder?/app/build?/usr/share/nginx/html EXPOSE?80 CMD?["nginx",?"-g",?"daemon?off;"]Dockerfile 本身并不復雜,使用 node 編譯項目,拿到打包后的靜態資源,放在 nginx 目錄下,由 nginx 對外提供服務,這里的 Dockerfile 有一些小技巧可以參考,在 build 的時候先拷貝 package.json 進行 npm 包的還原,這樣如果 package.json 不發生變化就會使用鏡像緩存就不會重新還原 npm 包了
打包 docker 鏡像,有了 dockerfile,打包 docker 鏡像就是一個很簡單的事情了
docker?build?-t?mdnice?.就可以打包一個鏡像名字是 mdnice 的 docker 鏡像了
使用 docker 部署
有了 docker 鏡像就可以比較簡單的使用,可以使用下面的命令進行部署
docker?run?-d?--name?mdnice?-p?9000:80?mdnice如果不想自己 build docker 鏡像,可以使用我 build 好的鏡像
docker?run?-d?--name?mdnice?-p?9000:80?weihanli/mdnice9000 是我隨便定義的一個端口號,你可以根據需要修改成自己想要的端口號
部署效果如下:
More
如果你想進一步修改源代碼,就要修改后進行再進行打包了
希望能夠幫到你~~
References
https://github.com/mdnice/markdown-nice/pull/268
總結
以上是生活随笔為你收集整理的使用 docker 部署 mdnice的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Asp Net Core 5 REST
- 下一篇: 50K求聘.NET,我们是认真的!