开源地址
安装的准备
docker安装
#!/bin/bash
Version="20.10.9-3.el7"
# 下载docker安装源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker
yum -y install docker-ce-$Version || echo -e '\033[1;31m安装失败,请检查网络和yum源配置!\033[0m'
# 使用国内镜像加速
# 阿里云(需要登录账号分配地址)
# 网易云 https://vgunv6qp.mirror.aliyuncs.com
# 腾讯云 https://mirror.ccs.tencentyun.com
# 中科大 https://docker.mirrors.ustc.edu.cn
# docker中国 https://registry.docker-cn.com
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://registry.docker-cn.com"
]
}
EOF
# 重新加载配置并启动docker
systemctl daemon-reload
systemctl enable --now docker
docker version && echo -e "\033[1;32m${Version}安装成功!\033[0m" || echo -e '\033[1;31m安装失败!\033[0m'
安装的步骤
- 在MySQL建立codimd使用的数据库
- 安装docker-compose
- 安装codimd
1.创建数据库
docker 安装 mysql 8 版本
# docker 中下载 mysql
docker pull mysql:8.0
# 创建目录
mkdir -p /data
#启动
docker run --name mysql -p 3306:3306 -v /data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0
#进入容器
docker exec -it mysql bash
#登录mysql
mysql -uroot -p
# ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
#添加远程登录用户
CREATE USER 'codimd'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'codimd'@'%';
2.安装codimd
在root文件夹下创建md
目录,目录内创建docker-compose.yml
。
version: "3"
services:
database:
image: postgres:11.6-alpine
environment:
- POSTGRES_USER=codimd
- POSTGRES_PASSWORD=password
- POSTGRES_DB=codimd
volumes:
- "database-data:/var/lib/postgresql/data"
restart: always
codimd:
image: hackmdio/hackmd:2.4.1
environment:
- CMD_DB_URL=postgres://codimd:password@database/codimd
- CMD_USECDN=false
depends_on:
- database
ports:
- "3000:3000"
volumes:
- upload-data:/home/hackmd/app/public/uploads
restart: always
volumes:
database-data: {}
upload-data: {}
保存退出,执行:
docker compose up -d
安装完成后可以使用docker ps命令查看codimd是否已经运行
docker ps|grep codimd
查看运行日志:执行以下命令
# docker logs -f -t --tail 行数 容器名
docker logs -f -t --tail 200 md-codimd-1
注:日志中有" HTTP Server listening at 0.0.0.0:3000"表示安装成功!
3.放行端口
codimd默认是运行在3000端口的,因此需要防火墙放行
docker update --restart=on-failure mysql
# 访问
http://host_ip:3000