前置CentOS7条件:
关闭防护墙:
setenforce = 0
systemctl stop firewalld
1. 安装 Docker*
如果你的系统中还没有安装 Docker,可以使用以下命令进行安装:
?
sudo yum install docker
启动 Docker 服务并设置开机自启:
sudo systemctl start docker
sudo systemctl enable docker
2. 安装 Docker Compose
Docker Compose 可以让你通过一个 YAML 文件来配置和启动整个 Docker 应用。可以使用以下命令进行安装:
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
有时候这个Compose能装上 有时候装不了,真的难受...
sudo chmod +x /usr/local/bin/docker-compose
检查 Docker Compose 版本来确认安装是否成功:
docker-compose --version
3. 设置 LNMP & WordPress 使用 Docker Compose
首先,创建一个文件夹来存放 `docker-compose` 文件和 WordPress 文件。
??
mkdir ~/wordpress
cd ~/wordpress
接下来,创建一个 `docker-compose.yml` 文件:
??
vim docker-compose.yml
??
在该文件中,粘贴以下内容:
# WordPress 服务定义
? wordpress:
??? # 指定 wordpress 服务依赖于 db 服务
??? depends_on:
????? - db
??? # 指定使用 Docker Hub 上的最新 WordPress 官方镜像
??? image: wordpress:latest
??? # 将容器内部的80端口映射到主机的8000端口
??? ports:
????? - "8000:80"
??? # 设置环境变量,WordPress 用这些变量来连接数据库
??? environment:
????? WORDPRESS_DB_HOST: db:3306??????? # 数据库主机名和端口
????? WORDPRESS_DB_USER: wordpress????? # 数据库用户名
????? WORDPRESS_DB_PASSWORD: wordpress? # 数据库密码
????? WORDPRESS_DB_NAME: wordpress????? # 要使用的数据库名
??? # 定义网络,将服务添加到名为 wpnet 的网络中
??? networks:
????? - wpnet
??? # 设置重启策略为除非手动停止否则总是重启
??? restart: unless-stopped
? # 数据库服务定义
? db:
??? # 使用 MySQL 5.7 版本的官方镜像
??? image: mysql:5.7
??? # 将数据卷挂载到容器内的 MySQL 数据目录
??? volumes:
????? - db_data:/var/lib/mysql
??? # 设置环境变量,MySQL 服务需使用这些环境变量进行初始化
??? environment:
????? MYSQL_ROOT_PASSWORD: somewordpress? # MySQL root 用户的密码
????? MYSQL_DATABASE: wordpress?????????? # 要创建的数据库名
????? MYSQL_USER: wordpress?????????????? # 要创建的普通用户的用户名
????? MYSQL_PASSWORD: wordpress?????????? # 普通用户的密码
??? # 服务加入到 network wpnet
??? networks:
????? - wpnet
??? # 设置重启策略与 WordPress 服务相同
??? restart: unless-stopped
# 定义使用的网络
networks:
? wpnet:
??? # 设置网络类型为 bridge
??? driver: bridge
# 定义持久化数据的卷
volumes:
? db_data:
??? # 当 volumes 没有指定详细配置时,Docker 会使用默认的设置
这个配置文件创建了 WordPress 和 MySQL 服务,其中 WordPress 服务通过端口 `8000` 对外提供服务。
?4. 启动容器
在 `docker-compose.yml` 文件所处的目录中运行以下命令以启动所有服务:
??
docker-compose up -d
??
?5. 访问 WordPress 安装
在启动容器后,你可以在任何浏览器中通过宿主机 IP 地址加上定义过的端口号(在这里是 8000)访问 WordPress 网站。
例如:
http://192.168.200.90:8000
??
你现在应该会看到 WordPress 的安装页面,进而可以根据指引完成 WordPress 的安装和设置。
备注:确保你的防火墙设置允许通过 8000 端口访问,如果需要调整防火墙,请使用以下命令:
??
sudo firewall-cmd --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
??
完成以上步骤后,你在 CentOS 7.4 上应该已经成功部署了 LNMP 环境并安装了 WordPress。