使用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、參考資料

相關文章
相關標籤/搜索