typecho / Dockerfile

Docker Image packaging for Typecho
https://hub.docker.com/r/joyqi/typecho
GNU General Public License v2.0
86 stars 9 forks source link

安装脚本每次都启动 #43

Open buzhangjiuzhou opened 5 months ago

buzhangjiuzhou commented 5 months ago

无论TYPECHO_INSTALL设为0还是1,或者注释掉,安装脚本都会启动。

我之前用的自己生成的镜像,后来迁移过来了,但是映射的目录是/app而不是/app/usr,最近发现这导致我用的版本还是之前的,于是准备改成/app/usr,然后就遇到了这个问题。

通过查看typoecho的index.php代码发现似乎会判断config.inc.php

/** 载入配置支持 */ if (!defined('__TYPECHO_ROOT_DIR__') && !@include_once 'config.inc.php') { file_exists('./install.php') ? header('Location: install.php') : print('Missing Config File'); exit; }

然后我手动把我之前的config.inc.php文件复制到容器内的/app目录下面就没有这个问题了,但是有时候重启容器还是有,于是我把这个文件挂载过去,现在也不启动安装脚本了。

但是我不确定是哪里有问题?是否应该更新这里的volume信息?又或者是怎么阻止这里install.php的启动?

Huberyfight commented 5 months ago

我也遇到这个问题了

qianhd commented 2 months ago

映射到/app, README上写的不对

buzhangjiuzhou commented 2 months ago

映射到/app, README上写的不对

但是映射到/app会导致更新镜像的时候typecho对应的文件没有更新,因为已有了,而已有的文件是老版本的,这也是我为什么把我的映射逻辑改了的原因。

qianhd commented 2 months ago

映射到 /app, README 上写的不对

但是映射到 /app 会导致更新镜像的时候 typecho 对应的文件没有更新,因为已有了,而已有的文件是老版本的,这也是我为什么把我的映射逻辑改了的原因。

docker还是走自动部署的比较好, 部署成功后安装脚本再次启动是因为你没配置TYPECHO_DB_NEXT, 所以只能让你自己选择具体的行为了.

buzhangjiuzhou commented 2 months ago

映射到 /app, README 上写的不对

但是映射到 /app 会导致更新镜像的时候 typecho 对应的文件没有更新,因为已有了,而已有的文件是老版本的,这也是我为什么把我的映射逻辑改了的原因。

docker还是走自动部署的比较好, 部署成功后安装脚本再次启动是因为你没配置TYPECHO_DB_NEXT, 所以只能让你自己选择具体的行为了.

咦,那我研究研究,主要是我迁移来docker之前就已经配置好了,所以不太方便用自带的自动部署(又或者是我没搞明白这个流程)。

qianhd commented 2 months ago

映射到 /app, README 上写的不对

但是映射到 /app 会导致更新镜像的时候 typecho 对应的文件没有更新,因为已有了,而已有的文件是老版本的,这也是我为什么把我的映射逻辑改了的原因。

docker 还是走自动部署的比较好,部署成功后安装脚本再次启动是因为你没配置 TYPECHO_DB_NEXT, 所以只能让你自己选择具体的行为了.

咦,那我研究研究,主要是我迁移来 docker 之前就已经配置好了,所以不太方便用自带的自动部署(又或者是我没搞明白这个流程)。

如果是sqlite只需要配置

TYPECHO_SITE_URL TYPECHO_INSTALL TYPECHO_DB_ADAPTER TYPECHO_DB_FILE TYPECHO_DB_NEXT

就会自动生成正确的config.inc.php

如果是其他数据库, 还需要配置数据库地址, 用户名, 密码之类的信息,