使用 OSSFS 数据卷实现 WordPress 附件共享
更新时间:2019-01-23 00:36:13
本文档介绍如何通过在阿里云容器服务上创建 OSSFS 数据卷来实现 WordPress 的附件在不同容器之间的共享。 Docker 容器的兴起使得 WordPress 的部署变得很简单。通过 阿里云容器服务,您可以使用编排模板一键部署 WordPress。
Note 有关使用阿里云容器服务创建 WordPress 应用的详细信息,参见 通过编排模板创建 WordPress。
场景
本示例使用以下编排模板创建一个名为 wordpress 的应用。
web:
image: registry.aliyuncs.com/acs-sample/wordpress:4.3
ports:
- '80'
environment:
WORDPRESS_AUTH_KEY: changeme
WORDPRESS_SECURE_AUTH_KEY: changeme
WORDPRESS_LOGGED_IN_KEY: changeme
WORDPRESS_NONCE_KEY: changeme
WORDPRESS_AUTH_SALT: changeme
WORDPRESS_SECURE_AUTH_SALT: changeme
WORDPRESS_LOGGED_IN_SALT: changeme
WORDPRESS_NONCE_SALT: changeme
WORDPRESS_NONCE_AA: changeme
restart: always
links:
- 'db:mysql'
labels:
aliyun.logs: /var/log
aliyun.probe.url: http://container/license.txt
aliyun.probe.initial_delay_seconds: '10'
aliyun.routing.port_80: http://wordpress
aliyun.scale: '3'
db:
image: registry.aliyuncs.com/acs-sample/mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: password
restart: always
labels:
aliyun.logs: /var/log/mysql
该应用包含一个 MySQL 容器和三个 WordPress 容器(aliyun.scale: '3'
是阿里云容器服务的扩展标签,指定容器的数量。有关阿里云容器服务支持的标签,参见 标签说明)。WordPress 容器通过 link 访问 MySQL。通过定义 aliyun.routing.port_80: http://wordpress
标签实现了三个 WordPress 容器的负载均衡(详细信息参见 简单路由(支持HTTP/HTTPS))。
本示例部署简单,功能齐全,但其实存在一个致命的缺陷。WordPress 上传的附件是保存在本地磁盘上的,不同容器之间不能共享。当请求被分配到其它容器时,附件就打不开了。
解决方案
本文档介绍如何利用阿里云容器服务的 OSSFS 数据卷(OSSFS volume),无需改动任何代码,即可实现 WordPress 附件在不同容器之间的共享。
OSSFS 数据卷是阿里云容器服务提供的第三方数据卷,通过将各种云存储(比如 OSS)包装成数据卷,直接挂载在容器上。不同容器间可以共享数据卷,并在容器重启、迁移时自动重新挂载数据卷。
操作流程
- 创建 OSSFS 数据卷。
- 在 容器服务管理控制台,单击左侧导航栏中的数据卷,即可使用数据卷功能。
- 选择需要创建数据卷的集群并单击右上角的创建,按照提示创建 OSSFS 数据卷。
有关如何创建 OSSFS 数据卷的详细信息,参见 创建 OSSFS 数据卷。
本示例中创建的 OSSFS 数据卷名称为 wp_upload。容器服务会在集群的所有节点上使用同一名称创建数据卷。如下图所示。
- 使用 OSSFS 数据卷。
WordPress 的附件,默认存放在 /var/www/html/wp-content/uploads 中。本示例中,只需将 OSSFS 数据卷映射到该目录,即可实现在不同的 WordPress 容器之间共享同一个 OSS bucket。
- 在 容器服务管理控制台,在 Swarm 菜单下,单击左侧导航栏中的应用。
- 选择本示例中所使用的集群,选择本示例中所创建的应用wordpress 并单击右侧的变更配置。
- 在模板中添加 OSSFS 数据卷到 WordPress 目录的映射。
Note 您必须修改 应用版本,否则无法重新部署应用。
- 单击确定,重新部署应用。
- 打开 WordPress,上传附件,OSS bucket 里就能看到上传的附件了。
相关文档
- 创建 OSSFS 数据卷
- 节点重启操作最佳实践
- 在阿里云容器服务上运行基于 TensorFlow 的 Alexnet
- 使用 Docker Compose 测试集群网络连通性
- 概述
- OSSFS如何通过www账户挂载Bucket
相关产品
-
容器服务(已停止服务)
容器服务(Container Service)提供了高性能可伸缩的容器应用管理服务,支持在一组云服务器上通过 Docker 容器来进行应用生命周期管理。容器服务极大地简化了用户对容器管理集群的搭建工作,无缝整合了阿里云虚拟化、存储、网络和安全能力,打造 Docker 云端最优化的运行环境。容器服务提供了多种应用发布方式和流水线般的持续交付能力,原生支持微服务架构,助力用户无缝上云和跨云管理。
-
容器服务Kubernetes版
容器服务Kubernetes版(Container Service for Kubernetes)提供高性能可伸缩的容器应用管理服务,支持企业级Kubernetes容器化应用的生命周期管理。
-
容器镜像服务
容器镜像服务(Container Registry)提供安全的应用镜像托管能力,精确的镜像安全扫描功能,稳定的国内外镜像构建服务,便捷的镜像授权功能,方便用户进行镜像全生命周期管理。容器镜像服务简化了Registry的搭建运维工作,支持多地域的镜像托管,并联合容器服务等云产品,打造云上使用Docker的一体化体验。
以上内容是否对您有帮助?
在文档使用中是否遇到以下问题
-
内容错误
-
更新不及时
-
链接错误
-
缺少代码/图片示例
-
太简单/步骤待完善
-
其他
-
内容错误
-
更新不及时
-
链接错误
-
缺少代码/图片示例
-
太简单/步骤待完善
-
其他
更多建议
匿名提交感谢您的打分,是否有意见建议想告诉我们?
感谢您的反馈,反馈我们已经收到
文档反馈
鼠标选中内容,快速选择问题
选中存在疑惑的文档内容,即可生成 截图进行反馈,我们会跟进处理。
文档反馈