一行命令搞定博客系统

核心命令

docker run -d \
  -p 8080:80 \
  --privileged=true \
  --restart=always \
  --add-host=blog.esugar.cn:192.168.254.130 \
  -v /home/typecho/usr:/app/usr \
  --name typecho \
  -e TZ=Asia/Shanghai \
  joyqi/typecho:nightly-php7.4-apache

参数详解

参数作用说明必要性
-d后台运行容器必选
-p 8080:80将容器80端口映射到主机8080端口必选(端口可自定义)
--privileged=true赋予容器root权限(需读写设备)可选(部分环境需要)
--restart=always容器意外退出时自动重启生产环境建议
-v /home/typecho/usr:/app/usr挂载数据卷(左侧主机路径,右侧容器路径)必选(防止数据丢失)
--name typecho指定容器名称推荐
-e TZ=Asia/Shanghai设置容器时区中文环境建议
joyqi/typecho:nightly-php7.4-apache官方镜像地址(含PHP7.4+Apache)必选

关键操作步骤

  1. 创建数据目录(避免权限问题):

    mkdir -p /home/typecho/usr && chmod 777 /home/typecho/usr
  2. 执行部署命令

    # 粘贴上述核心命令
  3. 访问验证

    • 浏览器打开 http://服务器IP:8080
    • 按Typecho安装向导完成初始化

注意事项

  1. 安全提醒

    • 生产环境建议修改8080为非常用端口(如9001:80
    • 完成后删除--privileged参数(测试环境临时使用)
  2. 数据备份

    # 直接备份主机目录即可
    tar -czvf typecho_backup.tar.gz /home/typecho/usr
  3. 版本升级

    docker stop typecho && docker rm typecho
    docker pull joyqi/typecho:nightly-php7.4-apache
    # 重新执行run命令(原有数据卷会自动复用)

常见问题

Q:访问8080端口出现403错误?
A:检查数据卷权限:chown -R 33:33 /home/typecho/usr(33是Apache用户ID)

Q:如何更换MySQL数据库?
A:添加环境变量(需先启动MySQL容器):

-e TYPE_DB_ADAPTER="pdo_mysql" \
-e TYPE_DB_HOST="mysql容器IP" \
-e TYPE_DB_PORT="3306" \
-e TYPE_DB_USER="root" \
-e TYPE_DB_PASSWORD="123456" \
-e TYPE_DB_DATABASE="typecho"

总结

通过Docker部署Typecho仅需:

  1. 挂载数据卷持久化/app/usr目录
  2. 暴露端口访问
  3. 设置时区等基础参数

后续管理只需操作/home/typecho/usr目录即可完成所有数据维护,真正实现"一次配置,永久运行"!

添加新评论