开发者社区> 过了即是客> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

用Docker搭建WordPress博客

简介: WordPress WordPress是一个非常著名的PHP编写的博客平台,发展到目前为止已经形成了一个庞大的网站平台系统。在WP上有规模庞大的插件和主题,可以帮助我们快速建立一个博客甚至网站。
+关注继续查看
WordPress
WordPress

WordPress是一个非常著名的PHP编写的博客平台,发展到目前为止已经形成了一个庞大的网站平台系统。在WP上有规模庞大的插件和主题,可以帮助我们快速建立一个博客甚至网站。

在Windows上可以非常方便的安装WordPress,因为IIS上集成了WordPress的一键安装包。而在Linux上安装WordPress就比较复杂了,我们需要配置PHP环境、Apache或者Nginx服务器、MySQL数据库以及各种权限和访问问题。所以在Linux上最好的办法就是使用Docker来安装WordPress。

安装Docker

如果是Windows平台,可以参考在Windows平台上搭建Docker开发环境。如果在Linux环境中,按照所使用的Linux的包管理器来安装Docker即可。顺便还可以安装Kitematic,这是一个非常好用的Docker图形界面工具。

安装完成之后需要启用Docker后台服务。如果是国内用户的话可能还需要设置Docker加速,可以参考Docker 镜像加速器-博客-云栖社区-阿里云

安装WordPress

有了Docker,安装WordPress就很简单了,直接一条命令搞定。

docker pull wordpress:latest

安装MySQL

WordPress需要使用MySQL数据库,这里也有两种方式,第一种是安装本地MySQL,第二种就是在Docker中安装MySQL镜像。如果要在Docker中安装MySQL也非常简单,同样一条命令搞定。

docker pull mysql:latest

如果从Docker中安装MySQL,还需要额外的配置来启动MySQL,具体文档参考这里。启动MySQL使用下面的命令。

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

name参数指定要启动的实例名称,MYSQL_ROOT_PASSWORD指定ROOT密码。tag参数是MySQL的版本号,可以是5.75.68.0

配置WordPress

安装好数据库之后,就可以启动WordPress了。详细的文档参考这里。如果使用Docker中安装的MySQL实例,使用下面的命令。

docker run --name some-wordpress --link some-mysql:mysql -p 8080:80 -d wordpress

name参数指定要启动的WordPress实例名称,link参数指定要使用的Docker MySQL实例名称,p参数将Docker内部的80端口映射到本地的8080端口上。

如果使用外部的MySQL数据库,则输入下面的命令。

docker run --name some-wordpress -e WORDPRESS_DB_HOST=10.1.2.3:3306 \
    -e WORDPRESS_DB_USER=... -e WORDPRESS_DB_PASSWORD=... -d wordpress

WORDPRESS_DB_HOST参数是MySQL的数据库端口号,WORDPRESS_DB_USER是要数据库用户名,WORDPRESS_DB_PASSWORD是数据库密码。这里的WORDPRESS_DB_HOST参数不能填写localhost,因为这样会重定向到WordPress镜像内部的localhost,而这个镜像中实际上没有安装MySQL。所以这里需要填写本机IP地址,才能正确访问到Docker外部的本机的数据库。

因此需要注意,如果使用外部数据库的话,数据库的用户需要具有外部IP的权限,因为这次不是通过本机回环地址访问。默认情况下MySQL安装时候的ROOT用户只允许本地登录,所以可能需要配置允许用户远程登录。

然后打开浏览器,输入localhost:8080(端口号是命令中设置的),然后就可以看到WordPress了。按照提示输入用户名等信息,然后安装WordPress。等到它提示安装完成,那么WordPress的安装就算大功告成了。

最后稍加配置,再添加诸如内网映射等功能之后,站点就可以对外访问了。

img_207903b2f2eeefbead448d6471787d5f.png
站点预览

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ELK收集多个docker容器日志(十二)
filebeat收集容器日志 现在很多公司都是用docker容器来运行服务,一台机器上会有很多个docker,docker容器里面的日志也需要收集分析,filebeat也有docker容器的日志收集方案 官方配置地址https://www.elastic.co/guide/en/beats/filebeat/6.6/filebeat-input-docker.html
102 0
什么,容器太多操作不过来?我选择Docker Compose梭哈(下)
什么,容器太多操作不过来?我选择Docker Compose梭哈(下)
151 0
【直播回顾】Java Spring Boot开发实战系列课程(第17讲):Spring Boot 2.0实战Docker容器Linux
Docker是最流行的开源容器引擎,Go语言开发,在互联网大规模集群、云计算、微服务等架构中广泛使用。本次课程一起学习如何基于Linux系统实战实战Docker容器,打包Spring Boot2.0应用。
1773 0
【直播预告】Java Spring Boot开发实战系列课程(第17讲):Spring Boot 2.0实战Docker容器Linux
Docker是最流行的开源容器引擎,Go语言开发,在互联网大规模集群、云计算、微服务等架构中广泛使用。本次课程一起学习如何基于Linux系统实战实战Docker容器,打包Spring Boot2.0应用。
3687 0
Prometheus 架构 - 每天5分钟玩转 Docker 容器技术(83)
Prometheus 是一个非常优秀的监控工具。准确的说,应该是监控方案。Prometheus 提供了监控数据搜集、存储、处理、可视化和告警一套完整的解决方案。 让我们先来看看 Prometheus 的架构。
1598 0
+关注
过了即是客
一个普普通通的程序员
219
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载