前言
众所周知,Docker是一个非常好用的容器化工具,只需要一个Dcokerfile和docker-compose.yml就可以在任何设备上跑起来你想要的系统,那么建站也会因为Docker而避免掉一些不必要的环境配置以此来节约宝贵的时间。
本文将详细介绍如何用 Docker+WordPress 来实现一个网站的部署。
正文
准备工作
- 一个Linux
- 一个Docker
安装Docker
参见此处
正式开始
创建一个容器共用网络wpnet
🐷这就不得不提到Docker的一项曼妙的发明了:当容器在同一个网络中就可以用容器名称互相访问。
比如说你进入mysql的终端输入ping wordpress他就能ping上,
执行命令来建立一个mysql和WordPress专用的网络(双人包
docker network create wpnet
配置Mysql+WordPress
💡根据你的服务器配置选择mysql的版本,因为mysql的占用特别高
| 操作系统内存 | 2GB | 2GB+ |
|---|---|---|
| 推荐的Mysql版本 | 5.7 | 5.7+ |
不太建议追版本,真的,
到时候服务器卡死了别来找我
编写dockerc-compose.yml
services:
mysql:
container_name: mysql
image: mysql:5.7
restart: always ##解放双手(bushi
environment:
MYSQL_ROOT_PASSWORD: 你数据库ROOT的密码
MYSQL_DATABASE: WordPress使用的数据库名称
MYSQL_USER: WordPress使用的数据库用户名 ##这个只能访问WordPress的数据库,减少用ROOT访问数据库的风险
MYSQL_PASSWORD: WordPress使用的数据库密码
volumes:
- ./mysql/data:/var/lib/mysql ##数据库
- ./mysql/conf:/etc/mysql/conf.d ##配置文件
- ./mysql/logs:/var/log/mysql ##日志
network_mode: wpnet ##和WordPress在同一个网络
wordpress:
container_name: wordpress
image: wordpress:latest
restart: always
environment:
WORDPRESS_DB_HOST: mysql:3306 ##连接mysql容器
WORDPRESS_DB_USER: WordPress使用的数据库用户名
WORDPRESS_DB_PASSWORD: WordPress使用的数据库密码
WORDPRESS_DB_NAME: WordPress使用的数据库名称
volumes:
- ./wordpress/wwwroot:/var/www/html ##所有的WordPress家当
network_mode: wpnet ##和mysql在同一个网络!!!!
ports:
- "80:80"
networks:
wpnet:
external: true
注意: 因为各个容器的IP总是随机分配的你改的速度更不上变得速度,上面写compose文件的时候一定要把数据库的地址换成mysql!
提示 我这里并没有暴露mysql的3306端口,因为我们需要的是用户->wordpress->mysql来通信,不需要用户直接和mysql来通信
终端运行命令来创建这两个容器
docker compose up -d
测试:
先检查容器状态
docker ps
如果你能看见wordpress和mysql两个单词,你应该就可以输入<a href="http://域名/">http://域名/</a>访问你的WordPress网站了进行如图所示的初始化设置

现在参考刚才docker-compose.yml文件中这几行
WORDPRESS_DB_USER: WordPress使用的数据库用户名
WORDPRESS_DB_PASSWORD: WordPress使用的数据库密码
WORDPRESS_DB_NAME: wordpress
- 数据库名填wordpress
- 用户名填WORDPRESS_DB_USER的内容
- 密码填WORDPRESS_DB_PASSWORD的内容
- 数据库主机填mysql
点击提交然后你就可以进入后台啦~
结尾
首先很感谢你能看到最后,为你的毅力和信心和动手能力点个巨大的赞,希望我的文章对你有用
如果你有需求配置https,不久之后我将出一篇文章讲讲(文内有免费的SSL证书),各位一定要关注我啊啊啊啊啊我爱你们