Chemex 是一个开源的、轻量且高颜值的信息资产管理系统。系统基于 Laravel 开发,数据库支持 MySQL/MariaDB。

Chemex 是个标准的 Laravel应用程序,也适用于所有的 LNMP/WNMP/DNMP 环境,虽然部署方式有很多,但仍然强烈建议使用 Docker 方式部署。

Docker 部署方式不会建立数据库容器,也意味着你必须有一个已有的数据库,在启动 chemex 时候通过参数注入的方式连接数据库。

首先需要下载Chemex的映像

docker pull celaraze/chemex:latest

然后在Docker中安装Chemex,并配置数据库

docker run -itd --restart=always -p 60001:80 -e DB_HOST=172.19.64.1 -e DB_PORT=3306 -e DB_DATABASE=chemex -e DB_USERNAME=root -e DB_PASSWORD=root -e INSTALL=true celaraze/chemex

即可通过 http://localhost:60001 访问 chemex,初始账号密码:admin/admin。

在安装Chemex出现的问题

1、数据库使用宿主机中的MySQL,数据库主机地址是什么

由于安装时使用Windows环境下的Docker,使用ipconfig查看IP地址

D:\docker-workspace\chemex-v3.7.0>ipconfig

Windows IP 配置

以太网适配器 以太网:
   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . : ufe.edu.cn

以太网适配器 vEthernet (WSL):

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::9c09:1d36:e7ca:4e62%52
   IPv4 地址 . . . . . . . . . . . . : 172.19.64.1
   子网掩码  . . . . . . . . . . . . : 255.255.240.0
   默认网关. . . . . . . . . . . . . :

以太网适配器 以太网 2:
   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

无线局域网适配器 本地连接* 1:
   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

无线局域网适配器 本地连接* 2:
   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

无线局域网适配器 WLAN:

注意显示信息中的“以太网适配器 vEthernet (WSL):”,其中显示的IP地址就是宿主机的地址,其中IPv4地址是172.19.64.1,这个地址就是Docker容器访问宿主机的IP地址。

2、必须在MySQL中提前创建好数据库,数据库名为chemex,字符集为utf8mb4,否则Docker映像启动后连接不到数据库

docker 连接数据库报错Illuminate\Database\QueryException SQLSTATE[HY000] [1130] Host,......

使用Navicat修改 mysql.user表中user 对应的 Host 为%

再使用Navicat命令行刷新mysql权限: flush privileges

3、运行Docker映像的参数必须指定安装属性,即指定参数-e INSTALL=true

不指定此参数启动映像后数据库中的数据为空,系统用户admin不存在,无法登录系统