使用 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/mdnice
9000 是我随便定义的一个端口号,你可以根据需要修改成自己想要的端口号
部署效果如下:
More
如果你想进一步修改源代码,就要修改后进行再进行打包了
希望能够帮到你~~
References
https://github.com/mdnice/markdown-nice/pull/268
使用 docker 部署 mdnice相关推荐
- 推荐一款基于docker部署的个人免费笔记工具wiznote
推荐一款基于docker部署的个人免费笔记工具wiznote 作为一个爱写作爱折腾的程序员,在做某个事情的时候,脑子里总是会联想并且不断蹦出各种奇怪的创意和想法,但是这些想法很多时候都是一闪而逝,事情 ...
- Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
Docker 部署SpringBoot项目整合 Redis 镜像做访问计数Demo 最终效果如下 大概就几个步骤 1.安装 Docker CE 2.运行 Redis 镜像 3.Java 环境准备 4. ...
- Docker 部署SpringBoot项目不香吗?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:流星007 链接:toutiao.com/i68433912 ...
- docker部署springboot_Docker+SpringBoot快速构建和部署应用
前言 Docker技术发展为当前流行的微服务提供了更加便利的环境,使用SpringBoot+Docker部署和发布应用,其实也是一件比较简单的事情.当前,前提是得有Docker的基础. 构建一个Spr ...
- docker初体验:docker部署nginx负载均衡集群
Docker 是一个用于开发,交付和运行应用程序的开放平台.Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件.今天来为大家演示一下docker部署nginx负载均衡集群 环境 ce ...
- docker初体验:docker部署nginx服务
Docker 是一个用于开发,交付和运行应用程序的开放平台.Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件.今天来为大家演示一下docker部署nginx 环境 centos7 ...
- Docker系列 四.Docker部署SpringBoot
四.Docker部署SpringBoot 环境&工具: 阿里云轻量级服务器.CentOS 7系统.FinalShell(其他连接客户端也可以).IDEA 1. 创建springboot项目 这 ...
- Docker部署文档
Docker部署文档 目录 Docker部署文档 1 一.什么是Docker 3 1.1Docker简介 3 1.2对比传统虚拟机总结 4 1.3Docker通常用于如下场景: 5 1.4基本概念 5 ...
- Docker部署Zookeeper集群
Docker部署Zookeeper集群 官方网站: http://zookeeper.apache.org/ http://zookeeper.apache.org/doc/r3.4.8/zookee ...
最新文章
- 在vs2010或者vs2008中配置PC-lint9.0版
- 高性能WEB开发(6) - web性能测试工具推荐
- linux tomcat apr安装,Linux下Tomcat安装并开启APR模式-Go语言中文社区
- python 获取指定目录下的图片文件
- 论文浅尝 | 基于属性嵌入的知识图谱间实体对齐方法
- 【Java】浅谈JavaDoc文档注释
- 使用Red Hat Enterprise Linux的实时内核
- 165体重_身高165的女性体重多少比较合适?过胖和过瘦都不太好
- 关于网上商城开发的随笔记录2
- mysql insert or update_MySQL insert or update SQL 示例
- 图书管理系统UML课程设计
- php繁体类,PHP类UTF8编码内的繁简转换-繁体-简体
- 如何修复win7蓝牙服务器,快速解决win7系统蓝牙驱动的修复方法
- Java基础--文件合并器
- MTK-EIS电子防抖-gyro校准
- w ndows10系统怎么退出安全模式,Windows 10安全模式怎么解除
- Maven使用指南 配置阿里云镜像提高下载速度
- 公司/组织苹果开发者账号申请流程
- win10 SystemParametersInfo 设置屏保 不好使_抖音网红屏保时钟软件(附使用教程)...
- Linux —进程间的五种通信方式—(半双工管道、命名管道、消息队列、信号、共享内存),外加信号量。直接上代码: