Docker 部署方式不会建立数据库容器,因此必须有一个已有的数据库,在启动 chemex 后需要对 .env 文件做配置。
拉取镜像:
docker pull celaraze/chemex:latest
在宿主机目录下创建.env文件,复制下面配置信息并将下面数据库配置改为自己的库
# 欢迎使用 chemex,在您开始之前,请按照指引完成配置
# 基础配置:
### 第一步:数据库配置
#数据库类型,不需要修改(兼容mariadb)
DB_CONNECTION=mysql
# 数据库地址
DB_HOST=127.0.0.1
# 数据库端口号,mysql默认是3306
DB_PORT=3306
# 数据库名称,如果没有此数据库,后续会提示创建
DB_DATABASE=chemex
# 数据库用户名
DB_USERNAME=root
# 数据库密码
DB_PASSWORD=password
### 第二步:配置HTTPS
### 如果您使用HTTPS协议,请将下面两个参数修改为true
ADMIN_HTTPS=false
### 第三步:配置应用信息
# 应用名称,一般不需要修改
APP_NAME=chemex
APP_ENV=local
# 修改默认应用地址和站点配置中地址相同配合上传LOGO使用,在站点配置中设置站点地址!
APP_URL=http://127.0.0.1:8000
创建并运行容器
docker run -itd --name chemex --restart=always -p 8000:8000 -v /your_path/.env:/var/www/html/laravel/.env celaraze/chemex:latest
注意 your_path 为你的宿主机某个目录,chemex 根目录有一个 .env.example 的环境变量配置文件,复制这个文件到 your_path 下并改名为 .env,然后修改 .env 中的数据库连接信息。
初始化数据库
如果是第一次使用 chemex,则需要执行数据库迁移。
进入 docker 容器:
docker exec -it chemex /bin/bash
执行命令:
cd /var/www/html/laravel && php artisan chemex:install
访问chemex
http://127.0.0.1:8000
问题汇总
1.访问提示 The /var/www/html/laravel/bootstrap/cache directory must be present and writable.
解决:容器内执行:
mkdir -p /var/www/html/laravel/bootstrap/cache
chmod -R 775 /var/www/html/laravel/bootstrap/cache
chmod -R 775 /var/www/html/laravel/bootstrap/cache