通过Docker Composer快速搭建WordPress个人网站
阅读这篇blog大约需要5分钟
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。
WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的,用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。 – baidu百科
WordPress包含了应用和数据库,所以环境相对复杂一点点,现在我们通过Docker可以在几分钟快速搭建WordPress网站。
介绍
现在实战一下,主要的步骤包括:
1.准备Docker
2.创建docker配置文件
3.构建Docker项目
4.打开WordPress网站
5.关闭网站
6.小结
准备Docker
在本机上安装Docker程序。
创建docker配置文件
创建一个文件夹my_wordpress:
mkdir my_wordpress && cd my_wordpress
然后创建一个docker-compose.yml文件:
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}
包含了两个镜像,分别是mysql数据库和wordpress应用。通过depends_on: -db,docker会按顺序启动,先启动db,然后启动wordpress,在docker环境中,wordpress可以通过db访问数据库。
构建Docker项目
只需运行一个命令:
docker-compose up -d
输出会像这样:
Creating network "my_wordpress_default" with the default driver
Pulling db (mysql:5.7)...
5.7: Pulling from library/mysql
efd26ecc9548: Pull complete
a3ed95caeb02: Pull complete
...
Digest: sha256:34a0aca88e85f2efa5edff1cea77cf5d3147ad93545dbec99cfe705b03c520de
Status: Downloaded newer image for mysql:5.7
Pulling wordpress (wordpress:latest)...
latest: Pulling from library/wordpress
efd26ecc9548: Already exists
a3ed95caeb02: Pull complete
589a9d9a7c64: Pull complete
...
Digest: sha256:ed28506ae44d5def89075fd5c01456610cd6c64006addfe5210b8c675881aff6
Status: Downloaded newer image for wordpress:latest
Creating my_wordpress_db_1
Creating my_wordpress_wordpress_1
docker会按照配置文件内容按顺序自动构建镜像并在后台运行。
打开WordPress网站
http://localhost:8000
关闭网站
停止wordpress应用和网络:
docker-compose down
停止wordpress应用、网络和数据库:
docker-compose down --volumes
小结
通过Docker可以方便的获取到由专业团队维护的程序镜像。通过Docker Composer可以方便的对多个镜像编排管理。安装运行复杂的应用变得前所未有的简单和快速。
参考阅读
- https://wordpress.com/
- https://docs.docker.com/compose/wordpress/
- https://hub.docker.com/_/wordpress