0.环境准备
linux系统
docker环境 : ubuntu安装docker
1.本机安装mysql
sudo apt-get update
sudo apt-get install mysql-server
systemctl status mysql.service
2.设置mysql密码
3.docker部署chemex
1.在本机新建目录存放laravel配置文件
sudo mkdir /usr/local/chemex && cd /usr/local/chemex
2.拉取镜像
sudo docker pull celaraze/chemex:latest
3.先建立一个空文件(此处容易踩坑)
如果不提前创建名为".env"的文件,,则在创建chemex容器时容器中会生成名为".env"的文件夹。
sudo touch .env
4.创建chemex容器
sudo docker run -itd --name chemex --restart=always -p 8000:8000 -v /usr/local/chemex/.env:/var/www/html/laravel/.env celaraze/chemex:latest
5.从容器中拷贝环境配置文件/var/www/html/laravel/.env.example 到本机替换刚刚的空文件.env
sudo docker ps | grep chemex
sudo docker cp 08043bc91f65:/var/www/html/laravel/.env.example ./
sudo cp .env.example .env
6.按说明修改.env文件
修改数据库ip (ifconfig查看 本机ip) 以及之前设置的数据库密码即可
DB_HOST=192.168.164.128
DB_PASSWORD=admin
7.将From文件夹上传覆盖
本机执行
sudo docker cp /home/Forms/ 08043bc91f65:/var/www/html/laravel/app/Admin/
8.修改文件权限
sudo docker exec -it chemex /bin/bash
cd /var/www/html/laravel/storage/ && chmod 777 ./logs
cd logs/ && chmod 777 ./laravel.log
cd /var/www/html/laravel/bootstrap/ && chmod 777 ./cache/
9.重启 进入容器初始化
sudo docker restart chemex
sudo docker exec -it chemex /bin/bash
cd /var/www/html/laravel && php artisan chemex:install
此时报错 记下该IP
另开终端,进入sql 开启权限
mysql -u root -p
-- 创建用户 (密码为admin)
CREATE USER 'root'@'172.17.0.2' IDENTIFIED BY 'admin';
-- 授予所有权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.17.0.2' WITH GRANT OPTION;
-- 应用权限改动
FLUSH PRIVILEGES;
-- 退出sql
exit
重启
service mysql restart
sudo docker restart chemex
重新执行
sudo docker exec -it chemex /bin/bash
cd /var/www/html/laravel && php artisan chemex:install