1 服务器环境搭建
本次选择 CentOS 操作系统
1.1 安装 Docker
使用 root
权限更新 yum
包
yum -y update
安装需要的软件包,yum-util
提供 yum-config-manager
功能,另外两个是 devicemapper
驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
设置 yum
源(选择其中一个,国内推荐阿里的)
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)
查看所有仓库中所有 Docker
版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
比如我的查询结果如下:
docker-ce.x86_64 3:23.0.1-1.el7 docker-ce-stable
使用 yum install docker-ce-版本号
安装 Docker
(期间会有 2 次确认,输入 y
回车确认)
yum install docker-ce-23.0.1
启动 Docker
并设置开机自启
systemctl start docker
systemctl enable docker
检查是否安装成功
docker version
配置国内镜像源阿里镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://zriwtgsj.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
1.2 安装 Portainer(可选)
docker run -d -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
2 安装 WordPress & MySQL & Nginx Proxy Manager
其中 my-secret-pw
是 root 用户的密码,请自行修改
docker network create blog
docker run --name blogdb --net blog -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 13306:3306 -d mysql
docker run --name blogweb --net blog -p 8080:80 -v /opt/blog/wordpress:/var/www/html -d wordpress
docker run --name blogproxy --net blog -p 80:80 -p 443:443 -p 10081:81 -v /opt/blog/nginxui/data:/data -v /opt/blog/nginxui/letsencrypt:/etc/letsencrypt -d jc21/nginx-proxy-manager
Nginx Proxy Manager 默认登录账户:admin@example.com, 密码:changeme
若无法登录管理员后台,编辑 wp-config.php。(注:添加在 if ( !defined('ABSPATH') ) 代码之前才能生效)
/**强制使用SSL/HTTPS访问后台以及登录**/ define('FORCE_SSL_ADMIN', true); define('FORCE_SSL_LOGIN', true); /**请求标头告知**/ if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { $_SERVER['HTTPS'] = 'on'; }