标签:exec The 重启 client 数据文件 快速 class 用户名 with
wordpress服务需要对应的mysql数据库服务,安装wordpress之前需要先搭建好数据库服务。现在都流行基于拉取镜像启动docker容器方式提供服务,因此需要一台能上外网的1核1G的机器,在机器上安装好docker。
1.安装mysql数据库
a. 拉取mysql镜像
docker pull mysql:5.7
b.启动mysql容器服务
docker run --name mysql-db -v /data/mysql:/var/lib/mysql -d -e MYSQL_ROOT_PASSWORD=root mysql:5.7
数据库的数据文件则会保存在系统/data/mysql目录下,即使下次重新启动或者重新创建一个mysql容器,数据也不会丢失。通过docker ps -a 查看容器状态,若执行失败,docker logs containerID 查看错误日志。还可以通过docker的参数-p 将容器端口映射到宿主机端口,方便在本地机器访问数据库服务。
docker run --name mysql-db -p 3306:3306 -v /data/mysql:/var/lib/mysql -d -e MYSQL_ROOT_PASSWORD=root mysql:5.7
若启动的时候未映射端口,后期可以手动通过iptables进行配置
iptables -t nat -A DOCKER -p tcp --dport 3306 -j DNAT --to-destination 172.17.0.2:3306 iptables --list iptables -t nat --list docker
容器的ip可以通过docker inspect containerID查看
c.创建数据库
默认的用户名是root,密码是通过MYSQL_ROOT_PASSWORD指定的值。
docker exec -it containerID sh mysql -uroot -p create database wordpress default charset utf8
d.本地连接mysql
本地用图形化工具连接mysql,方便操作,比如Navicat。mysql容器的端口已经映射到宿主机上3306,输入机器的ip,port进行连接,若报错:
Client does not support authentication protocol,
则按照c步骤进入数据库,执行
ALTER USER ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘root‘; FLUSH PRIVILEGES;
2.安装wordpress
a.拉取wordpress镜像
docker pull wordpress
b.启动wordpress容器
docker run -v /data/wordpress/wp-content:/var/www/html/wp-content --name my-wordpress --link mysql-db:db -p 80:80 -d wordpress
–link的意思就是wordpress关联了刚才安装好的mysql容器,后面的db只是一个别名。wp-content目录映射到容器,这样就可以备份网站的内容了(模板或者插件),再次启动wordpress服务所有的配置不会丢失。如果网站之前是ip,现在改由域名访问,请修改wp_options表中对应的siteurl以及home地址,重启容器即可。因为这个wp-content目录是mount到容器内部的,即使在宿主机上chmod 777 content/*,可能还是无法上传图片或者文件,执行以下操作即可。
docker exec -it containerId sh chown -R www-data:www-data wp-content/*
3.创建wordpress服务
执行docker ps ,确定两个容器都正常启动之后,用浏览器访问http://ip:80/,按照引导操作就行。
标签:exec The 重启 client 数据文件 快速 class 用户名 with
原文地址:https://www.cnblogs.com/kingfsen/p/9845984.html