当前位置:   article > 正文

【docker系列】Codimd在线Markdown方案_docker codimd

docker codimd

准备工作

创建程序存储目录

sudo mkdir -p /home/docker/codimd
  • 1

拉取镜像

拉取MariaDB数据库镜像

sudo docker pull linuxserver/mariadb:latest
  • 1

拉取Codimd镜像

sudo docker pull linuxserver/codimd:latest
  • 1

拉取了两个镜像,一个数据库,一个目标程序。

编写docker-compose

进入目标文件夹

cd /home/docker/codimd
  • 1

编写docker-compose文件

sudo vim docker-compose.yml
  • 1

将以下内容写入文件中

version: "3"
services:
  mariadb:
    image: linuxserver/mariadb:latest
    container_name: codimd_mariadb
    restart: always
    volumes:
      - ./db/config:/config 
    environment:
      - MYSQL_ROOT_PASSWORD=testpassword 
      - MYSQL_DATABASE=codimd
      - MYSQL_USER=codimd
      - MYSQL_PASSWORD=testpassword 
      - PGID=1000
      - PUID=1000
      - TZ=Aisa/Shanghai
  codimd:
    image: linuxserver/codimd:latest
    container_name: codimd
    restart: always
    depends_on:
      - mariadb
    volumes:
      - ./codimd/config:/config
    environment:
      - DB_HOST=mariadb
      - DB_USER=codimd
      - DB_PASS=testpassword
      - DB_NAME=codimd
      - DB_PORT=3306
      - PGID=1000
      - PUID=1000
      - TZ=Aisa/Shanghai
    ports:
      - "4525:3000"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

数据库密码你根据自己的需求更改,这里使用testpassword

启动compose

sudo docker-compose up -d
  • 1

没有看到红色就是启动成功了。

开放端口

开放系统服务器端口

我这里是Ubuntu系统,使用自带的UFW防火墙

sudo ufw allow 4525 comment "Codimd在线Markdown"
  • 1

开放服务器安全组端口

打开服务器的安全组,设置入站方向规则,添加一条4525端口的规则,协议选择TCP就行。

测试结果

打开浏览器http://IP:4525

添加域名解析

打开域名商,添加一条记录

  • 记录类型:A
  • 主机记录:md
  • 解析请求来源:默认
  • 记录值:自己服务器的IP地址
  • TTL:10分钟

添加Nginx反向代理

sudo vim /usr/local/nginx/conf/conf.d/conf.default
  • 1

将以下内容下入文件

# Codimd在线Markdown
server {
  listen 80;
  server_name  md.hikki.site;
  return       301 https://$server_name$request_uri;
}
server {
  listen                443 ssl;
  listen                [::]:443 ssl;
  server_name           md.hikki.site;
  ssl_certificate       cert/md.hikki.site/cert.pem;
  ssl_certificate_key   cert/md.hikki.site/key.pem;

  ssl_session_timeout 5m;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
   #表示使用的加密套件的类型。
  ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
  ssl_prefer_server_ciphers on;
  location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_pass http://localhost:4525;
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

添加SSL

添加SSL主要参考本站:https://blog.hikki.site/2e63f4a4.html

以下所有操作都需要在管理员权限下进行

申请域名证书

acme.sh --issue --dns dns_ali -d md.hikki.site
  • 1

01-申请SSL证书-20230204-868

创建证书存放目录

mkdir -p /usr/local/nginx/conf/cert/md.hikki.site/
  • 1

安装证书

acme.sh --install-cert -d md.hikki.site --key-file   /usr/local/nginx/conf/cert/md.hikki.site/key.pem   --fullchain-file /usr/local/nginx/conf/cert/md.hikki.site/cert.pem --reloadcmd     "/usr/local/nginx/sbin/nginx -s reload"
  • 1

访问测试

访问https://md.hikki.site成功。

关闭端口

在上面已经配置了域名解析做了反向代理,这样就不需要端口访问了,就可以关闭端口了,减少服务器的暴露端口数量,提高服务器的安全性。

关闭系统端口

我这里是Ubuntu系统,使用自带的UFW防火墙

sudo ufw delete 4525
  • 1

关闭服务器安全组端口

打开服务器的安全组,设置入站方向规则,删除刚刚添加的入站端口。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/197268?site
推荐阅读
相关标签
  

闽ICP备14008679号