閱讀686 返回首頁    go 阿裏雲


使用 OSSFS 數據卷實現 WordPress 附件共享__數據卷_最佳實踐_容器服務-阿裏雲

本文檔介紹如何通過在阿裏雲容器服務上創建 OSSFS 數據卷來實現 WordPress 的附件在不同容器之間的共享。

場景

Docker 容器的興起使得 WordPress 的部署變得很簡單。通過 阿裏雲容器服務,您可以使用編排模板一鍵部署 WordPress。

注意:有關使用阿裏雲容器服務創建 WordPress 應用的詳細信息,參見 通過編排模板創建 WordPress

本示例使用以下編排模板創建一個名為 wordpress 的應用。

  1. web:
  2. image: registry.aliyuncs.com/acs-sample/wordpress:4.3
  3. ports:
  4. - '80'
  5. environment:
  6. WORDPRESS_AUTH_KEY: changeme
  7. WORDPRESS_SECURE_AUTH_KEY: changeme
  8. WORDPRESS_LOGGED_IN_KEY: changeme
  9. WORDPRESS_NONCE_KEY: changeme
  10. WORDPRESS_AUTH_SALT: changeme
  11. WORDPRESS_SECURE_AUTH_SALT: changeme
  12. WORDPRESS_LOGGED_IN_SALT: changeme
  13. WORDPRESS_NONCE_SALT: changeme
  14. WORDPRESS_NONCE_AA: changeme
  15. restart: always
  16. links:
  17. - 'db:mysql'
  18. labels:
  19. aliyun.logs: /var/log
  20. aliyun.probe.url: https://container/license.txt
  21. aliyun.probe.initial_delay_seconds: '10'
  22. aliyun.routing.port_80: https://wordpress
  23. aliyun.scale: '3'
  24. db:
  25. image: registry.aliyuncs.com/acs-sample/mysql:5.7
  26. environment:
  27. MYSQL_ROOT_PASSWORD: password
  28. restart: always
  29. labels:
  30. aliyun.logs: /var/log/mysql

該應用包含一個 MySQL 容器和三個 WordPress 容器(aliyun.scale: '3' 是阿裏雲容器服務的擴展標簽,指定容器的數量。有關阿裏雲容器服務支持的標簽,參見 標簽說明)。WordPress 容器通過 link 訪問 MySQL。通過定義 aliyun.routing.port_80: https://wordpress 標簽實現了三個 WordPress 容器的負載均衡(詳細信息參見 通過 acsrouting 路由應用暴露 HTTP 服務)。

本示例部署簡單,功能齊全,但其實存在一個致命的缺陷。WordPress 上傳的附件是保存在本地磁盤上的,不同容器之間不能共享。當請求被分配到其它容器時,附件就打不開了。

解決方案

本文檔介紹如何利用阿裏雲容器服務的 OSSFS 數據卷(OSSFS volume),無需改動任何代碼,即可實現 WordPress 附件在不同容器之間的共享。

OSSFS 數據卷是阿裏雲容器服務提供的第三方數據卷,通過將各種雲存儲(比如 OSS)包裝成數據卷,直接掛載在容器上。不同容器間可以共享數據卷,並在容器重啟、遷移時自動重新掛載數據卷。

操作流程

  1. 創建 OSSFS 數據卷。

    1. 容器服務管理控製台,單擊左側導航欄中的 數據卷,即可開通數據卷功能。

    2. 選擇需要創建數據卷的集群並單擊右上角的 創建,按照提示創建 OSSFS 數據卷。

      有關如何創建 OSSFS 數據卷的詳細信息,參見 創建 OSSFS 數據卷

    本示例中創建的 OSSFS 數據卷名稱為 wp_upload。容器服務會在集群的所有節點上使用同一名稱創建數據卷。如下圖所示。

    數據卷

  2. 使用 OSSFS 數據卷。

    WordPress 的附件,默認存放在 /var/www/html/wp-content/uploads 中。本示例中,隻需將 OSSFS 數據卷映射到該目錄,即可實現在不同的 WordPress 容器之間共享同一個 OSS bucket。

    1. 容器服務管理控製台,單擊左側導航欄中的 應用

    2. 選擇本示例中所使用的集群,選擇本示例中所創建的應用 wordpress 並單擊右側的 變更配置

      wordpress

    3. 模板 中添加 OSSFS 數據卷到 WordPress 目錄的映射。

      注意:您必須修改 應用版本,否則無法重新部署應用。

      template

    4. 單擊 確定,重新部署應用。

  3. 打開 WordPress,上傳附件,OSS bucket 裏就能看到上傳的附件了。

最後更新:2016-12-13 13:56:10

  上一篇:go 支持的命令參數__開發者工具_容器服務-阿裏雲
  下一篇:go 什麼是批量計算__產品簡介_批量計算-阿裏雲