/README.md

https://gitlab.com/teamo/dao-wordpress · Markdown · 70 lines · 51 code · 19 blank · 0 comment · 0 complexity · 256e421db25a11c39a757846ee247634 MD5 · raw file

  1. # WordPress
  2. WordPress 是一个功能非常强大的博客系统插件众多易于扩充功能安装和使用都非常方便目前 WordPress 已经成为主流的 Blog 搭建平台
  3. ## 版本
  4. 该镜像与官方镜像兼容添加了对 DaoCloud MySQL 服务的支持
  5. ## 说明
  6. WordPress 需要搭配 MySQL 数据库才能运行当您部署在 DaoCloud 平台上时您可以在启动 WordPress 应用时绑定一个 MySQL 服务来自动完成
  7. 您也可以通过手动设置下面的环境变量来指定 MySQL 连接
  8. - `WORDPRESS_DB_HOST` 数据库主机地址默认为与其 `link` `mysql` 容器的 IP 3306 端口`<mysql-ip>:3306`
  9. - `WORDPRESS_DB_USER` 数据库用户名默认为 `root`
  10. - `WORDPRESS_DB_PASSWORD` 数据库密码默认为与其 `link` `mysql` 容器提供的 `MYSQL_ROOT_PASSWORD` 变量的值
  11. - `WORDPRESS_DB_NAME` 数据库名默认为 `wordpress`
  12. - `WORDPRESS_TABLE_PREFIX` 数据库表名前缀默认为空您可以从该变量覆盖 `wp-config.php` 中的配置
  13. - 安全相关默认为随机的 SHA1
  14. + `WORDPRESS_AUTH_KEY`
  15. + `WORDPRESS_SECURE_AUTH_KEY`
  16. + `WORDPRESS_LOGGED_IN_KEY`
  17. + `WORDPRESS_NONCE_KEY`
  18. + `WORDPRESS_AUTH_SALT`
  19. + `WORDPRESS_SECURE_AUTH_SALT`
  20. + `WORDPRESS_LOGGED_IN_SALT`
  21. + `WORDPRESS_NONCE_SALT`
  22. 如果 `WORDPRESS_DB_NAME` 变量指定的数据库不存在时那么 `wordpress` 容器在启动时就会自动尝试创建该数据库但是由 `WORDPRESS_DB_USER` 变量指定的用户需要有创建数据库的权限
  23. 如果您想通过主机 IP 访问您的站点那么您可以使用端口映射的功能
  24. ```console
  25. $ docker run --name some-wordpress --link some-mysql:mysql -p 8080:80 -d wordpress
  26. ```
  27. 然后您就可以在浏览器通过 `http://localhost:8080` `http://host-ip:8080` 访问您的站点了
  28. 如果您想使用外部数据库的话可以通过上述环境变量设置对应数据库的连接方式
  29. ```console
  30. $ docker run --name some-wordpress -e WORDPRESS_DB_HOST=10.1.2.3:3306 \
  31. -e WORDPRESS_DB_USER=... -e WORDPRESS_DB_PASSWORD=... -d wordpress
  32. ```
  33. ## 使用 Stack 功能部署 WordPress 于自有主机
  34. > Stack 是用一个 YAML 文件来描述容器配置和依赖的这个描述文件完全兼容 Docker Compose 的语法
  35. 您可以使用 Stack 功能将 WordPress 快速部署在您的自有主机上您可以参考下面的 `docker-compose.yml` 文件
  36. ```yaml
  37. wordpress:
  38. image: daocloud.io/daocloud/dao-wordpress:latest
  39. links:
  40. - db:mysql
  41. ports:
  42. - "80"
  43. restart: always
  44. db:
  45. image: mysql
  46. environment:
  47. - MYSQL_ROOT_PASSWORD=example
  48. restart: always
  49. ```
  50. ## 注意
  51. 由于上传的文件如图片等会保存在容器中容器重新部署可能会导致上传文件的丢失因此不建议您用 Ghost 存储重要文件但是当您部署于自有主机上时可以通过 Volume 功能挂载宿主机上的目录至容器来做持久化储存