Comments (26)
改为自动安装同样的问题, 自动安装如下:
version: '3'
services:
typecho-server:
image: joyqi/typecho:nightly-php7.4-apache
volumes:
- ./:/app/usr
environment:
TIMEZONE: Asia/Shanghai
MEMORY_LIMIT: 100m
MAX_POST_BODY: 50m
TYPECHO_INSTALL: 1
TYPECHO_DB_ADAPTER: Pdo_SQLite
TYPECHO_DB_FILE:615a4d4dabd49.db
TYPECHO_DB_PREFIX: db_
TYPECHO_SITE_URL: https://blog.devwiki.net
TYPECHO_USER_NAME: name
TYPECHO_USER_MAIL: email
TYPECHO_USER_PASSWORD: password
ports:
- "2080:80"
自动安装后 前台页面可访问
管理界面 503
from dockerfile.
改为自动安装同样的问题, 自动安装如下:
version: '3' services: typecho-server: image: joyqi/typecho:nightly-php7.4-apache volumes: - ./:/app/usr environment: TIMEZONE: Asia/Shanghai MEMORY_LIMIT: 100m MAX_POST_BODY: 50m TYPECHO_INSTALL: 1 TYPECHO_DB_ADAPTER: Pdo_SQLite TYPECHO_DB_FILE:615a4d4dabd49.db TYPECHO_DB_PREFIX: db_ TYPECHO_SITE_URL: https://blog.devwiki.net TYPECHO_USER_NAME: name TYPECHO_USER_MAIL: email TYPECHO_USER_PASSWORD: password ports: - "2080:80"自动安装后 前台页面可访问
管理界面 503
找到原因了, 使用自动安装或者手动安装, 无法创建数据库文件, 会报503
如果手动拷贝原来的数据库文件, 所有者不同, 和已经关闭的一个 issue类似, 但是不知道为何会 创建的时候无法创建 db文件.
from dockerfile.
在 config.inc.php 文件里加上 define('__TYPECHO_DEBUG__', true);
,然后看看报503时具体的报错信息是啥
from dockerfile.
在 config.inc.php 文件里加上
define('__TYPECHO_DEBUG__', true);
,然后看看报503时具体的报错信息是啥
不会生成此文件
from dockerfile.
我重新安装控制台输出如下:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.52.2. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.52.2. Set the 'ServerName' directive globally to suppress this message
[Tue Mar 22 13:11:50.190619 2022] [mpm_prefork:notice] [pid 27] AH00163: Apache/2.4.52 (Debian) PHP/7.4.28 configured -- resuming normal operations
[Tue Mar 22 13:11:50.190692 2022] [core:notice] [pid 27] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'
172.29.52.1 - - [22/Mar/2022:13:13:27 +0800] "GET /install.php?step=2&driver=Pdo_SQLite HTTP/1.1" 302 271 "http://192.168.31.137:2080/install.php?step=2" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"
172.29.52.1 - - [22/Mar/2022:13:13:27 +0800] "GET / HTTP/1.1" 200 2209 "http://192.168.31.137:2080/install.php?step=2" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"
172.29.52.1 - - [22/Mar/2022:13:13:29 +0800] "GET /index.php/archives/1/ HTTP/1.1" 200 4053 "http://192.168.31.137:2080/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"
172.29.52.1 - - [22/Mar/2022:13:13:31 +0800] "GET /admin/login.php HTTP/1.1" 503 1289 "http://192.168.31.137:2080/index.php/archives/1/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"
from dockerfile.
我修改了 数据库文件的 所属者 和组 同样不行
from dockerfile.
在 config.inc.php 文件里加上
define('__TYPECHO_DEBUG__', true);
,然后看看报503时具体的报错信息是啥
手动添加此文件和 内容, 页面没多余什么内容, 也没看到日志, 我使用的是威联通的nas的 docker环境, 你可试下:
QuTScloud Online Demo | QNAP
from dockerfile.
我已经在本地复现了这个问题,是一个命令行安装时的数据目录问题,现在你可以临时把安装时的环境变量,然后再启动新的容器
TYPECHO_DB_FILE: 615a4d4dabd49.db
改成
TYPECHO_DB_FILE: /app/usr/615a4d4dabd49.db
后续我会在代码中修复
from dockerfile.
但是删除 前面的 /app/usr
能进行下一步, 但是后台仍旧503
from dockerfile.
我已经在本地复现了这个问题,是一个命令行安装时的数据目录问题,现在你可以临时把安装时的环境变量,然后再启动新的容器
TYPECHO_DB_FILE: 615a4d4dabd49.db改成
TYPECHO_DB_FILE: /app/usr/615a4d4dabd49.db后续我会在代码中修复
日志输出如下:
Typecho 1.2.0
PHP 7.4.28
安装程序检查到原有数据表已经存在.
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.56.2. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.56.2. Set the 'ServerName' directive globally to suppress this message
[Tue Mar 22 13:47:30.214003 2022] [core:warn] [pid 15] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Tue Mar 22 13:47:30.223675 2022] [mpm_prefork:notice] [pid 15] AH00163: Apache/2.4.52 (Debian) PHP/7.4.28 configured -- resuming normal operations
[Tue Mar 22 13:47:30.223707 2022] [core:notice] [pid 15] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'
from dockerfile.
我已经在本地复现了这个问题,是一个命令行安装时的数据目录问题,现在你可以临时把安装时的环境变量,然后再启动新的容器
TYPECHO_DB_FILE: 615a4d4dabd49.db改成
TYPECHO_DB_FILE: /app/usr/615a4d4dabd49.db后续我会在代码中修复
按照此方式重新安装一个新的, 测试不会生成数据库文件
from dockerfile.
我在本地测试是可以的,你得把原来的容器和service都删掉
from dockerfile.
我在本地测试是可以的,你得把原来的容器和service都删掉
我就担心有问题 所以重新创建的. 原来的都删除了, 目录都改了, 原来是的 typecho1, 新的是 devwikiblog
from dockerfile.
我在本地测试是可以的,你得把原来的容器和service都删掉
需要手动创建 blog.db 文件么?
from dockerfile.
我已经在本地复现了这个问题,是一个命令行安装时的数据目录问题,现在你可以临时把安装时的环境变量,然后再启动新的容器
TYPECHO_DB_FILE: 615a4d4dabd49.db改成
TYPECHO_DB_FILE: /app/usr/615a4d4dabd49.db后续我会在代码中修复
这样修改 仍旧会提示无法找到数据库
from dockerfile.
我不知道是不是你的nas环境问题,在我本地测试了好几次都是可以正常创建的
version: '3'
services:
typecho-server:
image: joyqi/typecho:nightly-php7.4-apache
volumes:
- ./typecho:/app/usr
environment:
TIMEZONE: Asia/Shanghai
MEMORY_LIMIT: 100m
MAX_POST_BODY: 50m
TYPECHO_INSTALL: 1
TYPECHO_DB_ADAPTER: Pdo_SQLite
TYPECHO_DB_FILE: /app/usr/615a4d4dabd49.db
TYPECHO_DB_PREFIX: db_
TYPECHO_SITE_URL: https://blog.devwiki.net
TYPECHO_USER_NAME: joyqi
TYPECHO_USER_MAIL: [email protected]
TYPECHO_USER_PASSWORD: 123456
ports:
- "2080:80"
from dockerfile.
我不知道是不是你的nas环境问题,在我本地测试了好几次都是可以正常创建的
version: '3' services: typecho-server: image: joyqi/typecho:nightly-php7.4-apache volumes: - ./typecho:/app/usr environment: TIMEZONE: Asia/Shanghai MEMORY_LIMIT: 100m MAX_POST_BODY: 50m TYPECHO_INSTALL: 1 TYPECHO_DB_ADAPTER: Pdo_SQLite TYPECHO_DB_FILE: /app/usr/615a4d4dabd49.db TYPECHO_DB_PREFIX: db_ TYPECHO_SITE_URL: https://blog.devwiki.net TYPECHO_USER_NAME: joyqi TYPECHO_USER_MAIL: [email protected] TYPECHO_USER_PASSWORD: 123456 ports: - "2080:80"
如果我不带那个路径反而是能安装成功的, 但是找不到 db文件
from dockerfile.
@joyqi 我这边测试了下, 使用 威联通 nas 自己的 docker 创建按钮 和步骤来创建是可以自动生成 .db 文件的, 后续我会把创建步骤写个文档出来. 非常感谢~
但是使用 docker-compose方式 不行, 还是无法创建db文件. 如果有时间 还是建议查找一下原因.
这是威联通的nas的 试用入口:
QuTScloud Online Demo | QNAP
from dockerfile.
Typecho 1.2.0
PHP 7.4.28
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.40.2. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.40.2. Set the 'ServerName' directive globally to suppress this message
[Thu Sep 08 00:21:56.921687 2022] [core:warn] [pid 15] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Thu Sep 08 00:21:56.931197 2022] [mpm_prefork:notice] [pid 15] AH00163: Apache/2.4.53 (Debian) PHP/7.4.28 configured -- resuming normal operations
[Thu Sep 08 00:21:56.931235 2022] [core:notice] [pid 15] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'
这个503 报错内容如上 @joyqi
from dockerfile.
我不知道是不是你的nas环境问题,在我本地测试了好几次都是可以正常创建的
version: '3' services: typecho-server: image: joyqi/typecho:nightly-php7.4-apache volumes: - ./typecho:/app/usr environment: TIMEZONE: Asia/Shanghai MEMORY_LIMIT: 100m MAX_POST_BODY: 50m TYPECHO_INSTALL: 1 TYPECHO_DB_ADAPTER: Pdo_SQLite TYPECHO_DB_FILE: /app/usr/615a4d4dabd49.db TYPECHO_DB_PREFIX: db_ TYPECHO_SITE_URL: https://blog.devwiki.net TYPECHO_USER_NAME: joyqi TYPECHO_USER_MAIL: [email protected] TYPECHO_USER_PASSWORD: 123456 ports: - "2080:80"
上述的问题原因是: 使用 docker-compose 方式在威联通 nas上安装不会自动创建 config.inc.php, 我手动拷贝了该文件, 然后可以正常安装了. 不再提示招不到文件的问题.
但是 会出现访问非主页的时候提示 500, 即错误:
Typecho 1.2.0
PHP 7.4.28
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.40.2. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.29.40.2. Set the 'ServerName' directive globally to suppress this message
[Thu Sep 08 00:21:56.921687 2022] [core:warn] [pid 15] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Thu Sep 08 00:21:56.931197 2022] [mpm_prefork:notice] [pid 15] AH00163: Apache/2.4.53 (Debian) PHP/7.4.28 configured -- resuming normal operations
[Thu Sep 08 00:21:56.931235 2022] [core:notice] [pid 15] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'
from dockerfile.
这这里的日志并不是错误日志,只是打印了系统日志。你可以进入容器,在 config.inc.php
里加入
define('__TYPECHO_DEBUG__', true);
然后访问页面,看具体的报错信息
from dockerfile.
define('__TYPECHO_DEBUG__', true);
好的 晚上回去试试
from dockerfile.
这这里的日志并不是错误日志,只是打印了系统日志。你可以进入容器,在
config.inc.php
里加入define('__TYPECHO_DEBUG__', true);
然后访问页面,看具体的报错信息
添加之后打印的日志是:
SQLSTATE[HY000]: General error: 8 attempt to write a readonly database
Typecho\Db\Adapter\SQLException: SQLSTATE[HY000]: General error: 8 attempt to write a readonly database in /app/var/Typecho/Db/Adapter/Pdo.php:111
Stack trace:
#0 /app/var/Typecho/Db.php(391): Typecho\Db\Adapter\Pdo->query('UPDATE db_conte...', Object(PDO), 2, 'UPDATE', 'db_contents')
#1 /app/usr/themes/handsome/functions_mine.php(897): Typecho\Db->query(Object(Typecho\Db\Query))
#2 /app/usr/themes/handsome/post.php(53): get_post_view(Object(Widget\Archive))
#3 /app/var/Widget/Archive.php(1415): require_once('/app/usr/themes...')
#4 /app/var/Typecho/Router.php(99): Widget\Archive->render()
#5 /app/index.php(23): Typecho\Router::dispatch()
#6 {main}
但是我看了下权限是正常的, 通用不是 docker-compose 方式安装的, 就一切正常, 他们的权限组 和 用户组 都一样:
别的 docker镜像, 我在nas上使用 docker-compose 方式安装正常
from dockerfile.
from dockerfile.
我注意到你的db文件所有者是admin,而其它文件是33
from dockerfile.
我注意到你的db文件所有者是admin,而其它文件是33
我知道这个区别, 但是直接使用nas ui上操作创建的 所有者也是 admin, 数据写入都正常. 我用别的 docker 镜像 需要写数据库的也是使用docker compose 方式部署的,, 也是所有者 admin 写入正常.
from dockerfile.
Related Issues (20)
- 如果TYPECHO_INSTALL设置为1,容器每次重建都会重新安装吗 HOT 3
- 安装1.2.0版本,管理界面一直提示版本. HOT 3
- 群晖dsm7.0 docker可视化安装需要配置什么环境 HOT 2
- 后台登录会不停显示第一次操作结果提示
- *-FPM方式安装之后,访问ip+9000端口,无法打开网页。还需要啥操作吗 HOT 2
- 怎么配置nginx和php7.4-fpm对接呢。 HOT 3
- 无法自动安装配置 HOT 3
- 附件上传大小有限制,附件插入带IP地址,切换IP会导致附件失效,问题反馈! HOT 1
- Tokenizer 似乎是不必安装的PHP extension? HOT 1
- 关于使用 docker-compose 启动容器无法实现自动安装数据库的问题
- 容器执行脚本init.sh里面设置usr/uploads疑问 HOT 1
- 是否可以支持后台https环境变量 HOT 3
- 当安装失败时应当立刻退出进程
- 安装程序无法自动生成sqlite数据库文件 HOT 4
- 使用已有的 `TZ` 变量并删除自定义的 `TIMEZONE` 变量。
- 能否在apache2 设置文件中增加 证书 内容,并将证书目录 映射到 /app/usr 目录 HOT 1
- 能否发布 v1.2.1-rc 对应的 Docker Image HOT 2
- 无法连接数据库 HOT 4
- 无法登陆后台 HOT 1
- 用户主题在网页内部做出更改后,更改未生效,原文件无法被修改(777权限) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dockerfile.