11.6 CMS

内容管理系统(Content Management System,CMS)指的是提供内容编辑服务的平台程序。CMS可以让不懂编程的用户方便又轻松地发布、更改和管理各类数字内容(主要以文本和图像为主)。

下面,笔者将以Wordpress和Ghost两个流行的CMS软件为例,介绍如何制作和使用对应的Docker镜像。

11.6.1 WordPress

WordPress是风靡全球的开源内容管理系统,是博客、企业官网、产品首页等内容相关平台的主流实现方案之一。类似项目还有Drupal、Joomla、Typo3等。

11.6 CMS - 图1

WordPress基于PHP和MySQL,架构设计简单明了,支持主题,插件和各种功能模块。更重要的是,WordPress拥有庞大的社区,在线资源非常丰富,并且在各大网络空间商和云平台中受到广泛的支持。根据2013年8月的统计数据,流量排名前一千万的网站中其使用率高达22%。

1.使用官方镜像

首先,通过Docker Hub下载官方wordpress镜像:


  1. $ docker pull wordpress

然后,就可以创建并运行一个wordpress容器,并连接到mysql容器:


  1. $ docker run --name some-wordpress --link some-mysql:mysql -d wordpress

同样,用户可以使用-p参数来进行端口映射:


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

启动成功后,可在浏览器中访问http://localhost:8080来打开WordPress页面。

2.使用Compose搭建WordPress应用

可以使用Compose来一键搭建WordPress应用。

首先,新建docker-compose.yml文件:


  1. wordpress:
  2. image: wordpress
  3. links:
  4. - db:mysql
  5. ports:
  6. - 8080:80
  7. db:
  8. image: mariadb
  9. environment:
  10. MYSQL_ROOT_PASSWORD: example

然后执行:


  1. $ docker-compose up

11.6 CMS - 图2提示

如果提示没有docker-compose命令,可以通过pip install docker-compose来在线安装。

待服务启动后,即可打开浏览器访问本地80端口打开WordPress配置界面,如图11-7所示。

11.6 CMS - 图3

图11-7 WordPress容器启动页面

11.6.2 Ghost

Ghost是一个广受欢迎的开源博客平台,使用JavaScript编写,以MIT协议发布。它的设计非常简约,使用起来体验优异,非常适合做内容发布,故而受到很多极客或技术工作者的喜爱。

11.6 CMS - 图4

读者可以直接使用Docker Hub提供的官方Ghost镜像。直接使用docker run指令运行:


  1. $ docker run --name ghost-container -d ghost

至此已经成功启动了一个Ghost容器,如图11-8所示,内含Ghost实例并监听默认的2368服务端口。当然可以对服务进行端口映射,如下所示:


  1. $ docker run --name ghost-container-1 -p 8080:2368 -d ghost
  2. df116b7d570b3456950f4d7c22ff6911124427d16635080817e884922b491a2d

11.6 CMS - 图5

图11-8 Ghost容器启动页面

读者还可以挂载已有的内容到Ghost容器内:


  1. $ docker run --name some-ghost -v /path/to/ghost/blog:/var/lib/ghost ghost