docker版wordpress的搭建

这些步骤操作起来简单,但是走错了路就是坑,留个笔记,后续可以查询。

docker安装

本人用的centos环境,首先要更新docker,不要用系统自带的,可能版本是旧的,有些命令运行不了。

安装docker参考链接:https://docs.docker.com/engine/install/centos/

1
2
3
4
5
6
7
sudo yum remove docker
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker # 这个不要忘了
sudo docker run hello-world # 这个只是测试一下而已

也可以安装一下docker-compose:https://docs.docker.com/compose/install

1
2
3
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

unbuntu版本安装docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
apt update
apt upgrade -y
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo tee /etc/docker/daemon.json <<EOF
{
"builder": {
"gc": {
"defaultKeepStorage": "100GB",
"enabled": true
}
},
"data-root": "/home/redhat/MyDocker",
"experimental": false,
"registry-mirrors": [
"https://dockerproxy.net",
"https://docker.hpcloud.cloud",
"https://docker.m.daocloud.io",
"https://docker.unsee.tech",
"https://docker.1panel.live",
"http://mirrors.ustc.edu.cn",
"https://docker.chenby.cn",
"http://mirror.azure.cn",
"https://dockerpull.org",
"https://dockerhub.icu",
"https://hub.rat.dev"
]
}
EOF
cat /etc/docker/daemon.json
systemctl daemon-reload
systemctl restart docker
systemctl enable docker --now
docker info
docker compose version

安装wordpress

参考链接:https://registry.hub.docker.com/_/wordpress

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
vim docker-compose.yml
####### 例子 #######
services:
db:
image: mysql:8.0.27
command: '--default-authentication-plugin=mysql_native_password'
volumes:
- ./db_data:/var/lib/mysql
restart: always
environment:
- MYSQL_ROOT_PASSWORD=wp
- MYSQL_DATABASE=wordpress
- MYSQL_USER=wordpress
- MYSQL_PASSWORD=wp

wordpress:
image: wordpress:latest
volumes:
- ./wp_data:/var/www/html
ports:
- "2233:80"
restart: always
environment:
- WORDPRESS_DB_HOST=db
- WORDPRESS_DB_USER=wordpress
- WORDPRESS_DB_PASSWORD=wp
- WORDPRESS_DB_NAME=wordpress

volumes: {}

配置完成并启动wordpress就可以在浏览器访问wordpress了。

关于docker pull下载慢的问题。

1
2
3
4
5
6
7
8
9
10
# 更改系统的docker配置
vim /etc/docker/daemon.json
# 添加
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
service docker restart

wordpress配置

找到/var/www/html/wp-content/themes目录替换主题,找到宿主机目录/var/lib/docker/volumes/wordpress_wordpress/_data/替换就行。

容器时区不对的解决方法:docker cp /usr/share/zoneinfo/Asia/Shanghai c177fc4749c0:/etc/localtime

插件

https://github.com/bestony/wx-subscribe