Giter Club home page Giter Club logo

dockerfile's Introduction

Typecho Blogging Platform

Typecho is a PHP-based blog software and is designed to be the most powerful blog engine in the world. Typecho is released under the GNU General Public License 2.0.

Main Features

  • Multiple databases support (MySQL, SQLite, PostgreSQL)
  • Markdown Support
  • Plugin Support
  • Theme Support
  • Custom Fields
  • Custom Pages

Requirements

  • PHP 7.2.0 or higher
  • Database (MySQL, SQLite, PostgreSQL)
    • MySQL 5.5.3 or higher
    • SQLite 3.7.11 or higher
    • PostgreSQL 9.1 or higher

Screenshots

Typecho

Contributing

Please see CONTRIBUTING for details.

dockerfile's People

Contributors

joyqi avatar sy-records avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dockerfile's Issues

容器报错Bus error (core dumped),是否可查看更多debug信息

跑在k8s里,使用的是joyqi/typecho:1.2.0-php7.4-fpm-alpine这个镜像。
节点vm开启大页内存时,容器无法正常运行。
日志:

PHP Warning: Use of undefined constant TYPECHO_SECURE - assumed 'TYPECHO_SECURE' (this will throw an Error in a future version of PHP) in /app/config.inc.php on line 32
Typecho 1.2.0
PHP 7.4.28
Bus error (core dumped)

想进一步排查一下是什么问题,不知道能否获取到更多debug信息?

nginx代理加载问题

我是用nginx进行反向代理出现加载慢,只会加载html 如图
image
image
nginx反向代理的配置文件
image

后台登录会不停显示第一次操作结果提示

操作步骤:
正常登录后台,进行设置
image
之后所有页面访问都会出现如上图提示
使用的是nginx反向代理,
启动命令:docker run --name typecho-server -v /var/typecho:/app/usr -p 8081:80 -e TYPECHO_SITE_URL=https://blog.xxxx.com -d joyqi/typecho:nightly-php7.4
nignx配置:
server {
listen 80;
server_name blog.xxxx.com;

    rewrite ^(.*)$ https://$host$1 permanent;
    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        proxy_pass  http://127.0.0.1:8081;
        #root   html/public;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-NginX-Proxy true;
        proxy_redirect off;
        #index  index.html index.htm;
    }

}
server {

    listen          443 ssl;
    server_name     blog.xxxx.com;
    ssl_certificate 1_blog.xxxx_bundle.crt;
    ssl_certificate_key 2_blog.xxxx.com.key; 
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    location / {
        proxy_pass  http://127.0.0.1:8081;
        #index  index.html index.htm;
     proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-NginX-Proxy true;
        proxy_redirect off;
    }

}

无法登陆后台

加上define('TYPECHO_SECURE', true);之后,登录管理界面,输入密码之后会一闪,然后密码就消失了没办法登录。
这是日志:
[Tue May 9 21:54:03 2023] 8.130.11.204:45028 [200]: GET /admin/css/style.css?v=1.2.1
[Tue May 9 21:54:03 2023] 8.130.11.204:45028 Closing
[Tue May 9 21:54:03 2023] 8.130.11.204:45044 Accepted
[Tue May 9 21:54:03 2023] 8.130.11.204:45044 [200]: GET /admin/js/jquery.js?v=1.2.1
[Tue May 9 21:54:03 2023] 8.130.11.204:45046 Accepted
[Tue May 9 21:54:03 2023] 8.130.11.204:45044 Closing
[Tue May 9 21:54:03 2023] 8.130.11.204:45046 [200]: GET /admin/js/jquery-ui.js?v=1.2.1
[Tue May 9 21:54:03 2023] 8.130.11.204:45046 Closing
[Tue May 9 21:54:04 2023] 8.130.11.204:45052 Accepted
[Tue May 9 21:54:04 2023] 8.130.11.204:45052 [200]: GET /admin/img/typecho-logo.svg
[Tue May 9 21:54:04 2023] 8.130.11.204:45052 Closing
[Tue May 9 21:54:04 2023] 8.130.11.204:45048 Accepted
[Tue May 9 21:54:04 2023] 8.130.11.204:45048 [200]: GET /admin/js/typecho.js?v=1.2.1
[Tue May 9 21:54:04 2023] 8.130.11.204:45048 Closing
下面是截图:
image
点击登录之后,密码什么的就消失了
image

使用 sqlite 自动安装生成的数据库文件错误

安装完访问显示 Error establishing a database connection,sqlite 文件的用户组不对。

root@e4fdea8ad469:/app/usr# ls -la
total 124
drwxr-xr-x 6 www-data www-data  4096 Oct 12 13:27 .
drwxr-xr-x 1 www-data www-data  4096 Oct 12 13:27 ..
-rw-r--r-- 1 root     root     98304 Oct 12 13:27 61658d34659d0.db
drwxr-xr-x 2 www-data www-data  4096 Oct 12 13:26 langs
drwxr-xr-x 3 www-data www-data  4096 Oct 12 13:26 plugins
drwxr-xr-x 3 www-data www-data  4096 Oct 12 13:26 themes
drwxr-xr-x 2 www-data www-data  4096 Sep 29 17:06 uploads

Tokenizer 似乎是不必安装的PHP extension?

我尝试了用 build.sh 构建镜像,总是会发生错误而终止:

make: *** No rule to make target '/usr/src/php/ext/tokenizer/Zend/zend_language_parser.y', needed by '/usr/src/php/ext/tokenizer/Zend/zend_language_parser.c'.  Stop.

查了下是因为在 Dockerfile 中安装了 tokenizer 这个扩展,删去相关内容问题就解决了。查到有说法是PHP的官方镜像已经自带了这个扩展 #1231,而且我试了下成功修改后构建的镜像也支持 tokenizer

~# php -i | grep -i tokenizer
Tokenizer Support => enabled

所以这个不是必需的?php的版本是8.0和8.1

SQLSTATE[HY000] [2002] No such file or directory

我的脚本:
数据库启动失败~

~ docker run --name typecho-server \
-p 9000:9000 \
-v ~/coding/project/typecho-v1.2.0-rc.1/usr:/app/usr \
-e 'TIMEZONE=Asia/Shanghai' \
-e 'TYPECHO_DB_USER=blog' \
-e 'TYPECHO_DB_PASSWORD=blog' \
-e 'TYPECHO_DB_DATABASE=typecho' \
-e 'TYPECHO_INSTALL=1' \
-e 'TYPECHO_SITE_URL=http://127.0.0.1' \
joyqi/typecho:nightly-php7.4-fpm

输出:

Typecho 1.2.0
PHP 7.4.25
安装程序捕捉到以下错误: " SQLSTATE[HY000] [2002] No such file or directory ". 程序被终止, 请检查您的配置信息.
[13-Nov-2021 12:07:35] NOTICE: fpm is running, pid 23
[13-Nov-2021 12:07:35] NOTICE: ready to handle connections

无法连接数据库

命令:

docker run --name typecho-server \
	-p 8088:80 \
	-e TYPECHO_SITE_URL=https://xxxxx.top \
	-d joyqi/typecho:nightly-php7.4-apache

一开始我看其他issue以为是文件权限的问题,因为我一开始的命令是:

docker run --name typecho-server \
	-p 8088:80 \
	-v $PWD/typecho/app/usr:/app/usr \
	-v $PWD/typecho/app/usr/plugins:/app/usr/plugins \
	-v $PWD/typecho/app/usr/themes:/app/usr/themes \
	-v $PWD/typecho/app/usr/uploads:/app/usr/uploads \
	-e TYPECHO_SITE_URL=https://xxxxxx.top \
	-d joyqi/typecho:nightly-php7.4-apache

我通过chmod修改用户权限后还是无法连接数据库,尝试最精简的命令也无法连接。
image

请问这个docker镜像中存在数据库环境么,我是否需要自己安装数据库和其他环境,这让我感到迷惑,在初始化配置界面需要填的内容是我自己创建数据库的信息还是自动创建数据库需要填写的信息。

当安装失败时应当立刻退出进程

设置TYPECHO_INSTALL1时, Typecho会尝试自动安装并生成配置.
但是当安装失败时, 例如集群中的数据库未就绪, 或者什么其他的问题, 导致无法安装之类的问题时, 入口程序应当立刻退出, 方便系统管理员发现问题, 或者集群重启容器.
否则会遗留一个安装页面到公网, 会增加内网服务被探测的风险.

TYPECHO_INSTALL设置为0, 却自动安装

安装脚本

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: 0
      TYPECHO_DB_ADAPTER: Pdo_SQLite
      TYPECHO_DB_FILE: 615a4d4dabd49.db
      TYPECHO_DB_PREFIX: db_
      TYPECHO_SITE_URL: https://blog.devwiki.net
      TYPECHO_USER_NAME: DevWiki
      TYPECHO_USER_MAIL: [email protected]
      TYPECHO_USER_PASSWORD: DevWiki
    ports:
      - "2080:80"

使用docker 安装后, 自动安装了.

image

我这边在安装以及使用中碰见了三个问题,还需要麻烦看下,谢谢

环境:
joyqi/typecho:1.2.0-php7.4-apache
Debian GNU/Linux 10(Py3.7.9) 
Docker version 18.09.1, build 4c52b90

问题1:
在Linux中执行:
docker run --name typecho-server -p 6951:80 -e TYPECHO_SITE_URL=https://your-domain.com TYPECHO_USER_NAME=admin TYPECHO_USER_PASSWORD=admin -d joyqi/typecho:nightly-php7.4-apache
提示:
docker: invalid reference format: repository name must be lowercase. See 'docker run --help'.

问题2:
安装成功之后,提示最新版本为1.2.0;
image

问题3:
服务器 Nginx开启方向代理并开通的SSL;域名解析使用Cloudflare,并且使用其解析自动SSL代理服务;

  1. 在Typecho 站点地址 设置中配置url为 https:// xxx 时,前台页面展示是没有问题的的主url和资源url都是https,但是服务https://xxx/admin 时,资源url全是http,导致资源加载不了,在现代浏览器执行登录会被浏览器拦截;

已知:使用宿主机+端口,全程页面时没有被拦截的,因为都是http
已知:Cloudflare解析代理关闭下,还是存在同样问题
已知:纯http情况下无此问题

与其 #12 问题一致

谢谢!

docker compose 安装后 管理界面报503

安装方式: docker compose

version: '3'

services:    
  typecho-server:
    image: joyqi/typecho:nightly-php7.4
    volumes:
      - /var/typecho:/app/usr 
    environment:
      TYPECHO_SITE_URL: https://blog.devwiki.net
    ports:
      - "2080:80"

Docker安装过程结果

image

typecho 安装过程

image

image

修改db 路径后可安装:
image

image

image

image

image

image

附件上传大小有限制,附件插入带IP地址,切换IP会导致附件失效,问题反馈!

官方的镜像源目前有两点只要问题需要解决:
1,附件上传大小有限制;
2,附件插入带IP地址,切换IP会导致附件失效。

希望官方能看到并修复。目前使用80X86的镜像,没有以上问题。
关于问题的详细官方可以直接联系我的邮箱:[email protected]
另外,关于群晖的可视化docker配置,我也可以写一些教程。

哪里有问题?

只要按说明尝试挂载/app/usr目录就会启动失败

docker run --name typecho  \
-v /data/docker/typecho/app/usr:/app/usr \
--restart always -e 'TIMEZONE=Asia/Shanghai' \
-e 'TYPECHO_INSTALL=1' \
-e 'TYPECHO_SITE_URL=http://127.0.0.1' \
-e 'TYPECHO_DB_ADAPTER=Pdo_SQLite' \
-e 'TYPECHO_DB_FILE=/app/usr/db/SQLite.db' \
 joyqi/typecho:nightly-php7.4

我也尝试过其他版本镜像,特别询问alpine系列镜像完全没法使用,不挂目录也不行

关于使用 docker-compose 启动容器无法实现自动安装数据库的问题

最近在研究容器化使用 typecho,经常反复删除和重建容器,于是想到开启环境变量里自动安装的功能,但是尝试多次发现都没有效果。看到有朋友也遇到了一样的问题 #21。一番摸索后找到了原因,分享给大家供参考。

遇到问题:
开启自动安装需要在 docker-compose.yml 中设置环境变量 TYPECHO_INSTALL: 1,但我发现即便是启用了,首次登录时还是会出现安装数据库的初始化页面,之后一切使用如常。初始配置文件 config.inc.php 也没有自动生成,但手动配置后会生成(如果你的问题是根本连不上数据库或者打不开页面什么的,应该是其他原因)。所以我考虑不是程序出错,而是配置不到位。

原 docker-compose 配置文件:

version: "3.9"

services:
  nginx:
    container_name: nginx
    image: cym1102/nginxwebui
    restart: unless-stopped
    environment:
      TZ: Asia/Shanghai
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"
    volumes:
      - $PWD/typecho:/var/lib/nginx/html
      - nginx:/home/nginxWebUI
    depends_on:
      - typecho

  typecho:
    container_name: typecho
    image: joyqi/typecho:nightly-php8.0-fpm-alpine
    restart: unless-stopped
    environment:
      TIMEZONE: Asia/Shanghai
      TYPECHO_INSTALL: 1
      TYPECHO_DB_HOST: mysql
      TYPECHO_DB_USER: zurica
      TYPECHO_DB_PASSWORD: 123456
      TYPECHO_DB_DATABASE: typecho
      TYPECHO_SITE_URL: http://my.web.site
      TYPECHO_USER_NAME: zurica
      TYPECHO_USER_PASSWORD: password
      TYPECHO_USER_MAIL: [email protected]
    volumes:
      - $PWD/typecho:/app
    depends_on:
      - mysql

  mysql:
    container_name: mysql
    image: mysql
    restart: unless-stopped
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: typecho
      MYSQL_USER: zurica
      MYSQL_PASSWORD: 123456

volumes:
  nginx:
    name: nginx

networks:
  default:
    name: blog

探究原因:
查看 docker-compose 的日志会发现以下内容:

typecho  | Typecho 1.2.0
typecho  | PHP 8.0.22
typecho  | 对不起, 无法连接数据库, 请先检查数据库配置再继续进行安装
typecho  | [23-Aug-2022 06:04:36] NOTICE: fpm is running, pid 33
typecho  | [23-Aug-2022 06:04:36] NOTICE: ready to handle connections
......
mysql    | 2022-08-23 14:04:38+08:00 [Note] [Entrypoint]: Creating database typecho
mysql    | 2022-08-23 14:04:38+08:00 [Note] [Entrypoint]: Creating user zurica
mysql    | 2022-08-23 14:04:38+08:00 [Note] [Entrypoint]: Giving user zurica access to schema typecho
......

已知 typecho 在访问 Mysql 时如果不存在相应数据库,会显示无法连接;而这里 Mysql 明明已经按照预设环境变量成功创建了 typecho 数据库。其实秘密在时间戳上:Mysql 创建 typecho 数据库的时间,比 typecho 尝试访问它的时间晚了2秒,typecho 自然访问了个寂寞 😓

解决方法:
那么问题又来了,我在 docker-compose 的 typecho 段落里已经写了

depends_on:
      - mysql

不起作用吗?
答案是确实不起作用(果然不能乱抄配置),因为按照官方文档的解释,depends_on 只是让被配置的容器比被依赖的容器后启动,并不是等被依赖的容器完全准备好了才启动。但是这个参数也是有作用的,就是通过长语法再补充一些细节:

service_healthy
service_completed_successfully

你可能以为要选第二个?错了 😅,因为名称已经写的很清楚了,这个服务不但要成功,还要完成(exits with 0 code)。如果只是毫无差错地处于待命状态,依赖它的容器就只能一直等下去也不能启动~~
使用 service_healthy 的话,就到要对容器进行健康检查,关于如何写判断条件我也查了很多:

  1. 检查数据库的目录是否已经生成
    test: ["CMD", "test -f var/lib/mysql/typecho"]
  2. 检查运行的 mysql 版本
    test: ["CMD", "echo 'SELECT version();'| mysql"]
  3. 检查容器是否能连接
    test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]

实践证明以上三种都不管用,具体原因我也不清楚(尤其是第一种看似最可行的条件)

最后找到一个亲测可用的配置:
Docker-compose with MySQL/MariaDB and healthcheck
这个命令在 Mysql 容器里直接运行的结果:

bash-4.4# mysql --user=zurica --password=123456 --execute "SHOW DATABASES;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------+
| Database           |
+--------------------+
| information_schema |
| performance_schema |
| typecho            |
+--------------------+

其实也就是去判断目标数据库有没有建好

修改后的 docker-compose.yml

version: "3.9"

services:
  nginx:
    container_name: nginx
    image: cym1102/nginxwebui
    restart: unless-stopped
    environment:
      TZ: Asia/Shanghai
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"
    volumes:
      - $PWD/typecho:/var/lib/nginx/html
      - nginx:/home/nginxWebUI
    depends_on:
      - typecho

  typecho:
    container_name: typecho
    image: joyqi/typecho:nightly-php8.0-fpm-alpine
    restart: unless-stopped
    environment:
      TIMEZONE: Asia/Shanghai
      TYPECHO_INSTALL: 1
      TYPECHO_DB_HOST: mysql
      TYPECHO_DB_USER: zurica
      TYPECHO_DB_PASSWORD: 123456
      TYPECHO_DB_DATABASE: typecho
      TYPECHO_SITE_URL: http://my.web.site
      TYPECHO_USER_NAME: zurica
      TYPECHO_USER_PASSWORD: password
      TYPECHO_USER_MAIL: [email protected]
    volumes:
      - $PWD/typecho:/app
    depends_on:
      mysql:
        condition: service_healthy

  mysql:
    container_name: mysql
    image: mysql
    restart: unless-stopped
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: typecho
      MYSQL_USER: zurica
      MYSQL_PASSWORD: 123456
    healthcheck:
      test: "mysql --user=zurica --password=123456 --execute \"SHOW DATABASES;\""
      interval: 2s
      timeout: 1s
      retries: 10

volumes:
  nginx:
    name: nginx

networks:
  default:
    name: blog

有几点要注意:

  1. depends_on 的长语法只对 2.x 和 3.9 的 docker-compose 配置文件有效,常规短语法没有限制;
  2. 关于健康检查的间隔和频次,可以酌情设定。我观察到从 Mysql 容器启动到创建 typecho 数据库需要15秒时间,那么设定的 Interval*retries 至少要能完全覆盖这段时间,不然健康检查会失败;
  3. 健康检查的条件不能写成 test: ["CMD“, ”XX", "XX"] 这种格式,也不能用 "-u" "-p" 等短参数。倒是没有报错,但也不会生效。

容器成功启动后的日志:

typecho  | Typecho 1.2.0
typecho  | PHP 8.0.22
typecho  | 安装成功
typecho  | 您的用户名是 zurica
typecho  | 您的密码是 password
typecho  | [23-Aug-2022 07:23:55] NOTICE: fpm is running, pid 32
typecho  | [23-Aug-2022 07:23:55] NOTICE: ready to handle connections
......
mysql    | 2022-08-23 15:23:49+08:00 [Note] [Entrypoint]: Creating database typecho
mysql    | 2022-08-23 15:23:49+08:00 [Note] [Entrypoint]: Creating user zurica
mysql    | 2022-08-23 15:23:49+08:00 [Note] [Entrypoint]: Giving user zurica access to schema typecho
......

数据库比访问请求早了6秒创建,自然就没有问题了

最后说一句,手动初始配置比这个省事多了,自动安装反而折腾 🤣

显示SQLSTATE[HY000] [2002] No such file or directory怎么办?

docker run --name typecho-server -p 8082:80 -v /var/typecho:/app/usr -e TYPECHO_SITE_URL=https://your-domain.com -e TYPECHO_DB_USER=typechous -e TYPECHO_DB_PASSWORD=typechopw -e TYPECHO_DB_DATABASE=typechodb -d joyqi/typecho:nightly-php7.4

我用以上的方法来运行docker的typecho 能进入网页但是选择数据库时显示SQLSTATE[HY000] [2002] No such file or directory怎么办?能教下我吗

Docker容器部署后访问地址出现问题

资源介绍

操作系统:Ubuntu Server 22.04
Docker版本:Docker Engine - Community 24.0.6
镜像版本:joyqi/typecho nightly-php7.4-apache ff6f2e2043f9 7 hours ago 495MB

使用场景

首先我在Docker中创建了一个网桥,这里用aaa代替网桥名称

docker network create aaa

然后将typecho和nginx都部署到aaa网桥上,typecho的容器名就叫typecho,启动命令如下所示:

docker run --name typecho \
   --restart always \
   --network aaa \
   -e TYPECHO_SITE_URL=https://typecho.domain.com \
   -d joyqi/typecho:nightly-php7.4-apache

在nginx配置文件中我是这么配置的

server {
    listen       443 ssl;
    server_name  typecho.domain.com;
    ssl_certificate         ***.crt;
    ssl_certificate_key  ***.key;

    location / {
        proxy_pass    http://typecho;
        index         index.html index.htm index.php;
    }

}

问题

在访问网站后发现请求静态资源时并没有使用我指定的TYPECHO_SITE_URL

image

请问是我的操作有问题吗?

怎么配置nginx和php7.4-fpm对接呢。

有没有详细一点,关于docker 下joyqi/typecho:nightly-php7.4-fpm
与主机nginx或者docker里nginx的配置实现呢?
我的设备是arm64,想节省点资源,所以使用nginx。多次尝试,均出现错误。
想知道大家怎么配置。谢谢

无法自动安装配置

我尝试使用docker-compose安装typecho,想要以bridge的网络配置方式让typecho连接上MariaDB,可是按照以下配置部署过后,初次登陆还是需要我填写数据库的信息,好像自动配置是无效的,不知为何

version: '2'

services:
db:
image: mariadb:latest
volumes:
- /root/Server-Apps/Typecho/MariaDB:/var/lib/mysql
restart: always
environment:
MARIADB_ROOT_PASSWORD: typecho
MARIADB_DATABASE: typecho
MARIADB_USER: typecho
MARIADB_PASSWORD: typecho

typecho:
depends_on:
- db
image: joyqi/typecho:nightly-php7.4-apache
ports:
- 8060:80
restart: always
environment:
TIMEZONE: Asia/Shanghai
TYPECHO_INSTALL: 1
TYPECHO_SITE_URL: http://myHost:8060
TYPECHO_DB_ADAPTER: Mysqli
TYPECHO_DB_HOST: db
TYPECHO_DB_PORT: 3306
TYPECHO_DB_DATABASE: typecho
TYPECHO_DB_USER: typecho
TYPECHO_DB_PASSWORD: typecho
TYPECHO_USER_NAME: myUserName
TYPECHO_USER_PASSWORD: myPassword
TYPECHO_USER_MAIL: myEmail

使用 https 访问安装界面错乱无法安装

docker配置:

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
    ports:
      - "80:80"

绑定了域名, 使用 https 访问界面如下:

image

Uploading image.png…

使用 http 访问正常
image

docker compose 安装后 管理界面报503

安装方式: docker compose

version: '3'

services:    
  typecho-server:
    image: joyqi/typecho:nightly-php7.4
    volumes:
      - /var/typecho:/app/usr 
    environment:
      TYPECHO_SITE_URL: https://blog.devwiki.net
    ports:
      - "2080:80"

Docker安装过程结果

image

typecho 安装过程

image

image

修改db 路径后可安装:
image

image

image

image

image

image

能否在apache2 设置文件中增加 证书 内容,并将证书目录 映射到 /app/usr 目录

apache版本:
docker run --name typecho-server -p 82:9000 -v /mnt/typecho-https:/app/usr -e TYPECHO_SITE_URL=https://192.168.5.8 -d joyqi/typecho:nightly-php8.0-apache
https://192.168.5.8:82 无法访问(提示此网站无法提供安全连接),config.inc.php 增加了define('TYPECHO_SECURE',true);
必须使用http 才行。猜想 是不是docker内没有证书相关内容,导致浏览器不让访问

能否在apache2 设置文件中增加 证书 内容,并将证书目录 映射到 /app/usr 目录。
这样 对我这种小白 更友好啊。。。这样,就只需要在路由上 作端口转发就行了。。。

也尝试过fpm版本:
docker run --name typecho-server -p 82:9000 -v /mnt/typecho-https:/app/usr -e TYPECHO_SITE_URL=https://192.168.5.8 -d joyqi/typecho:nightly-php8.0-fpm

通过网址无法打开页面。改为http 也无法访问(有将 内网IP 改过域名,也是不行)本来还想研究下,直接无访问,实在是不知道哪里出问题了

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.