手动编辑于2022/03/26,内容可能会发生更改或出错,但可以参考思路
WordPress安装后需要连接外部数据库,因此需要安装好mysql
安装好docker环境
sudo apt install docker docker-compose # ubuntu,debian
sudo pacman -S docker docker-compose # archlinux,manjaro
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun # centos 使用官网脚本安装,需要su root
如果已有portainer
使用portainer安装mysql和wordpress
- 登录portainer面板
- 选择App Templates
- 分别添加mysql和wordpress容器
- 然后加入同一网络即可
不建议直接添加wordpress,因为默认会创建新的volumns和密码,
mysql
docker安装mysql(已有mysql数据库可以跳过)
sudo docker pull mysql:latest # 拉取最新镜像
# 创建一个新的mysql容器,名称是mysql
sudo docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
配置mysql
sudo docker ps # 找到mysql容器到ID,我的为fa68484f82bd
sudo docker exec fa68 -it /bin/bash # 进入容器bash
# 以下为mysql容器内的bash环境
(bash)
mysql # 输入密码连接到mysql
# 以下进入mysql操作环境
(bash)(mysql)
create database wordpress;
# 有需要可以对数据库创建用户,增加权限,更改密码
创建docker网络
sudo docker network create tencloud # 创建一个tencloud网络
sudo docker network connect tencloud mysql # 将mysql加入tencloud网络
sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql # 获得mysql容器ip地址
我的为mysql容器IP为172.19.0.6,后文中将用到
WordPress
docker安装wordpress
sudo docker pull wordpress
sudo docker run -it --name wordpress -e WORDPRESS_DB_HOST=172.19.0.6:3306 -e WORDPRESS_DB_USESR=root -e WORDPRESS_DB_PASSWORD=123456 -p 8080:80 -d wordpress
sudo docker network connect tencloud wordpress # 将wordpress加入tencloud网络
使用浏览器打开服务器的IP地址,输入
数据库名称:wordpress
用户名:root
密码:123456
数据库主机:172.19.0.6
表前缀:wp_ # 默认值不管
提交后,显示连接成功!
密码正确但无法登录
可能是mysql wordpress数据库/wp_user表中,user_pass加密方式不是MD5
外部连接到mysql,不需要登录容器
mysql -u root -p -h 172.19.0.6
(mysql)
use wordpress;
select user_login,user_pass from wp_users; # 查看自己的用户名
update wp_users set user_pass=MD5('<新密码>') where user_login=<你的用户名>;
重新刷新页面即可登录
https证书配置
配置完ssl证书后,wordpress登录不上
打开网站根目录\wp-config.php文件
sudo docker exec -it <wordpress容器ID> /bin/bash
echo -e "$_SERVER['HTTPS'] = 'on';\ndefine('FORCE_SSL_LOGIN', true);\ndefine('FORCE_SSL_ADMIN', true);" >> /var/www/html/wp-config.php
或者保险起见,可以手动添加echo导入到内容
但容器内一般没有文本编辑器,需要使用包管理器安装如
apt update
apt install vim
vim ./wp-config.php