docker 搭建wordpress

  1. 创建mysql,版本5.7
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress -v $(pwd)/mysql:/var/lib/mysql mysql:5.7

这里只能用Bind Mouting方式持久化数据,用volume会报错,不知道为啥,如果是mysql8的版本好像可以,如下:

docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress -v mysql-data:/var/lib/mysql mysql

但是mysql 8的版本,wordpress连接会报错,好像是密码验证改了,需要修改mysql用户的密码验证方式

  • 进入容器
docker exec -it mysql /bin/bash
  • 登录数据库(此处的密码为参数-e MYSQL_ROOT_PASSWORD=root对应的值,此处密码为root)
mysql -u root -p root
  • 使用mysql数据库
use mysql;
  • 查询mysql8.0的root用户
select host, user, plugin from user;

从查到的结果中,可以看到root的用户的加密方式为caching_sha2_passoword, 而navicat连接所用的方式为native_password。mysql为远程连接和本地连接提供了不同的密码验证方式

  • 修改root用户插件验证方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

修改成功之后就可以连接了

  1. 创建wordpress
docker run -d  --name wordpress --link mysql -p 80:80 -e WORDPRESS_DB_PASSWORD=root -e MYSQL_DATABASE=mysql wordpress

猜你喜欢

转载自blog.csdn.net/fanxl10/article/details/83904286