使用 docker 快速搭建一套笔记和博客系统
系统预览

笔记卡片基本理念
卡片笔记系统在使用的时候,如何快速的筛选,他和传统的文件夹的方式管理有什么不同
笔记卡片 , 快速笔记
1317
实现功能
- ctrl+v上传图片
- 自动保存
- API添加笔记
预备知识

什么是docker compose
介绍Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。想象一下,你有一个应用程序,它由几个服务组成,比如一个数据库、一个后端应用程序和一个前端界面。在没有 Docker Compose 的情况下,你需要分别手动设置和运行每个服务的 Docker 容器。这不...
docker , 快速笔记
1514

docker 快速搭建typecho博客
、》::通过这个教程可以使用 Docker 和 Docker Compose 快速搭建 Typecho 博客
快速笔记
1180
两步即可搭建
- 快速搭建博客系统,电脑中必须有 docker ,然后在一个文件夹中放入下面的两个文件
- 直接 docker compose up 启动即可
创建 .env
文件
# MySQL 配置
MYSQL_USER=typecho
MYSQL_ROOT_PASSWORD=123456 # 数据库root用户密码
MYSQL_PASSWORD=123456 # 数据库typecho用户密码
# Typecho 配置
TYPECHO_SITE_URL=http://localhost:89 # 访问这个网址即可打开博客系统
TYPECHO_PORT=89
TYPECHO_USER_NAME=admin # 登录博客的用户名
TYPECHO_USER_PASSWORD=adminpassword # 登录博客的用户密码
TYPECHO_USER_MAIL=admin@example.com # 你的邮箱
TOKEN=your-token # typecho-api的token,使用笔记系统需要设置
NOTE_PORT=88 # 笔记系统的端口
创建 docker-compose.yml
文件
version: '3.7'
services:
mysql:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: typecho
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
restart: unless-stopped
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
timeout: 20s
retries: 10
volumes:
- mysql_data:/var/lib/mysql
typecho:
image: joyqi/typecho:nightly-php7.4-apache # -apache
restart: unless-stopped
environment:
- TYPECHO_SITE_URL=${TYPECHO_SITE_URL}
- MAX_POST_BODY=50M
- TYPECHO_INSTALL=1
- TYPECHO_DB_HOST=mysql
- TYPECHO_DB_USER=${MYSQL_USER}
- TYPECHO_DB_PASSWORD=${MYSQL_PASSWORD}
- TYPECHO_DB_DATABASE=typecho
- TYPECHO_USER_NAME=${TYPECHO_USER_NAME}
- TYPECHO_USER_PASSWORD=${TYPECHO_USER_PASSWORD}
- TYPECHO_USER_MAIL=${TYPECHO_USER_MAIL}
ports:
- "${TYPECHO_PORT}:80"
volumes:
- typecho_data:/app/usr
depends_on:
mysql:
condition: service_healthy
typecho-api:
image: glwhappen/typecho-api
restart: unless-stopped
volumes:
- typecho_data:/app/typecho_data
environment:
DB_USERNAME: ${MYSQL_USER}
DB_PASSWORD: ${MYSQL_PASSWORD}
POST_URL: post/{slug}
DB_HOST: mysql
DB_PORT: 3306
DB_NAME: ${MYSQL_USER}
API_TOKEN: ${TOKEN}
# ports:
# - "13082:5000"
note-card:
image: glwhappen/note-card
restart: unless-stopped
ports:
- "${NOTE_PORT}:80"
volumes:
mysql_data:
typecho_data:
升级
在docker compose 所在的文件夹,直接执行下面所有的命令即可更新笔记系统
docker compose stop typecho-api
docker compose stop note-card
docker-compose rm -f typecho-api
docker-compose rm -f note-card
docker pull glwhappen/typecho-api
docker pull glwhappen/note-card
docker-compose up -d
备份
可以看下面的文章,来自动备份所有的容器数据

自动备份运行状态中的docker容器卷
#!/bin/bash
# 定义备份的根目录
BACKUP_ROOT="/root/backup"
# 使用当前日期和时间创建备份目录,格式为 YYYYMMDD_HHMMSS
CURRENT_DATE=$(date +"%Y%m%d_%H%M%S")...
默认分类
893
问题解决
访问博客出现安装页面
访问 http://localhost:89 即可看到博客
第一次需要安装:
数据库地址填:mysql
数据库用户名:typecho
数据库密码:123456
数据库名:typecho
然后点击确认开始安装
数据库安装的时候对应的配置:
如果提示数据库存在,直接使用之前的就行
访问 http://localhost:12081 即可看到笔记系统,需要在设置里面设置一下token,需要和上面yml中的API_TOKEN对应
设置完毕以后直接刷新网页即可