使用docker安装codimd,搭建你本身的在线协做markdown编辑器

1、前言

最近笔者须要频繁更新和发布文档,所以有了寻找一个在线markdown文档平台的想法。我最终在做业部落,gitbook,codimd之中选择了codimd,而且将其部署到了本身的服务器以便提升访问速度,所以写下这篇博客记录本身部署和使用的心得,供你们参考借鉴。html

2、codimd是什么?

2.1 源于hackmd的超好用markdown编辑器

hackmd是一款著名的在线协做markdown编辑器产品mysql

CodiMD是HackMD的免费开源版本git

2.2 codimd的做用

  • 在线编辑markdown文档
  • 在线发布markdown文档
  • 和别人在线协做编辑markdown文档

你可使用官方提供的codimd服务github

image-20200428232732142

3、安装和使用

3.1 安装前须要知道的

  • 安装以后你可使用的功能和官方是同样的
  • 安装的好处是,codimd官方的服务器在美国,在国内访问速度慢,部署到本身的服务器能够提升访问速度,也便于本身掌控数据库
  • 目前codimd是开放系统,全部人均可以注册和使用你服务器上的codimd服务

3.2 安装步骤

笔者是参考官方文档进行安装的sql

总共须要如下步骤:docker

  • 在MySQL创建codimd使用的数据库
  • 安装git
  • 安装docker
  • 安装docker-compose
  • 安装codimd

3.2.1 建立数据库

笔者使用宝塔面板,所以直接如图添加一个数据库数据库

请注意容许全部ip访问该数据库,由于docker容器访问不属于本地ip访问,能够看详细解释安全

image-20200428231026983

3.2.2 安装git

笔者直接使用yum进行安装,执行如下指令便可服务器

yum install git

3.2.3 安装docker

一样使用yum进行安装,执行如下指令便可markdown

yum install docker

3.2.4 安装docker compose

yum install docker-compose

3.2.5 安装codimd

version: "3"
services:
  codimd:
    image: nabo.codimd.dev/hackmdio/hackmd:2.0.1
    environment:
      - CMD_DB_URL=postgres://codimd:change_password@database/codimd
      - CMD_USECDN=false
    ports:
      - "3000:3000"
    volumes:
      - upload-data:/home/hackmd/app/public/uploads
    restart: always
volumes:
  upload-data: {}

你须要执行如下步骤完成codimd的安装:

  • 在一个目录下建立 docker-compose.yml,向其中粘贴以上内容

  • 修改其中的配置信息

  • 在该目录下执行docker-compose up -d便可完成安装

配置信息说明:

postgres://codimd:change_password@database/codimd

这一行中各个参数的含义分别是:

数据库链接协议://用户名:密码@数据库主机:数据库端口/数据库名

我使用的是MySQL,数据库名和用户名都是codimd,所以改为:

mysql://codimd:密码@172.18.0.1:3306/codimd

这里个人MySQL是在docker的宿主机本地安装的,可是主机ip没有写localhost,由于localhost在docker容器里面会解释成容器自己的ip,这样就连不上安装在宿主机的MySQL,因此我使用:

ip addr show docker0

查看了宿主机的ip为172.18.0.1,而后使用宿主机ip代替localhost,就达到容器内部访问外部的MySQL数据库的目的,能够看其余解决方案和详细解释

3.2.6 检查是否安装成功

安装完成后可使用docker ps命令查看codimd是否已经运行

查看运行日志:执行如下命令

docker logs -f -t --tail 行数 容器名

经过上面的docker ps命令中看到容器名为codimd_codimd_1

因此我执行

docker logs -f -t --tail 10  codimd_codimd_1

看到

HTTP Server listening at 0.0.0.0:3000

这样的日志就表示安装成功了

3.2.7 放行端口

codimd默认是运行在3000端口的,所以须要防火墙放行

  • 防火墙放行3000端口

  • 阿里云安全组规则放行3000端口

你可使用端口扫描工具确认端口已经正确放行

3.2.8 测试使用

访问你的服务器主机ip的3000端口,便可看到codimd的主页

image-20200428232641617

3.3 开始写做

有了codimd以后你就能够在线编辑你的markdown文档了,还能够邀请别人一块儿编辑

4、总结

笔者在整个codimd的安装过程仍是比较顺利,使用docker-compose安装十分便捷,主要遇到的问题是第一次安装以后查看日志发现访问不了数据库,后来查了资料才知道docker容器内访问localhost会被解释成docker容器自己的ip而不是常规的127.0.0.1,并且,使用docker容器访问数据库,也不属于本地服务器访问数据库。安装完成以后使用起来仍是比较方便的,编辑器的页面比较美观,终于能够摆脱离线编辑文档还要写各类版本号更新记录的日子了。

5、参考资料

相关文章
相关标签/搜索