1. 安装docker
移除旧版本:
1 | $ sudo yum remove docker \ |
安装必要的系统工具:
1 | sudo yum install -y yum-utils device-mapper-persistent-data lvm2 |
添加软件源信息:
1 | sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo |
更新 yum 缓存:
1 | sudo yum makecache fast |
安装 Docker-ce:
1 | sudo yum -y install docker-ce |
启动 Docker 后台服务:
1 | sudo systemctl start docker |
安装docker-compose:
1 | curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose |
2. 部署php环境
- 克隆laradock
laradock 官方文档:http://laradock.io/
laradock github:https://github.com/laradock/laradock
Already have a PHP project: 在项目里
1 | git clone https://github.com/Laradock/laradock.git |
Don’t have a PHP project yet: 和项目同级目录
1 | git clone https://github.com/laradock/laradock.git |
- 直接用 docker-compose 运行需要启用的服务:
1
docker-compose up -d nginx mysql php-fpm
3. laravel 配置文件
Laravel 配置文件需要注意的问题是,在 .env 文件中,mysql 和 redis 的地址需填写成这样,而不是 ip 地址形式:
1 | DB_CONNECTION=mysql |
4. nginx配置
在laradock文件夹,nginx/sites/中配置*.conf文件
1 | server { |
重启nginx操作:
在laradock文件夹内
1 | docker-compose restart nginx |
5. 执行composer
执行 composer 等操作,需要进入到 workspace 容器中进行,使用命令:
1 | docker-compose exec workspace bash |
进入到 workspace 容器,就可以进行 compose 命令等操作了。
具体使用上的问题请参加 laradock 官方文档,上面都有说明。
6. MySQL8修改验证方式
mysql 8.0 将密码验证方式由以前的 mysql_native_password 改为了 caching_sha2_password 。可以进入 mysql 容器 bash,登录 mysql ,将验证方式修改成原来的:
1 | #在laradock文件夹中执行: |
现在就可以用 root 登录了。为了使新建用户的验证方式默认为 mysql_native_password ,可以修改 my.cnf 文件,在 [mysqld] 部分中添加:
1 | default_authentication_plugin = mysql_native_password |
7. laradock 默认装的是 mysql 最新版本(mysql8),也可以更换成低版本的 mysql
1 | # 修改 .env 文件 |
8. 添加Redis配置
去修改 redis 的配置的时候,才发现默认安装的时候并没有添加 redis 的配置。所以重装配置下:
修改laradock/redis/Dockerfile
:
1 | FROM redis:latest |
编辑配置文件:
默认情况 redis
目录下有 redis.conf
文件,修改以下两点即可
- 注释
bind 127.0.0.1
protected-mode
改为no
其他配置根据自己情况进行修改。
重装 redis:
- 切换到
laradock
目录 - 停止redis
docker-compose stop redis
- 重装
docker-compose build --no-cache redis
- 启动
docker-compose up -d redis