Skip to content

DaoCloud/dao-wordpress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WordPress

WordPress 是一个功能非常强大的博客系统,插件众多,易于扩充功能,安装和使用都非常方便。目前 WordPress 已经成为主流的 Blog 搭建平台。

版本

该镜像与官方镜像兼容,添加了对 DaoCloud MySQL 服务的支持。

说明

WordPress 需要搭配 MySQL 数据库才能运行,当您部署在 DaoCloud 平台上时,您可以在启动 WordPress 应用时绑定一个 MySQL 服务来自动完成。

您也可以通过手动设置下面的环境变量来指定 MySQL 连接:

  • WORDPRESS_DB_HOST 数据库主机地址(默认为与其 linkmysql 容器的 IP 和 3306 端口:<mysql-ip>:3306
  • WORDPRESS_DB_USER 数据库用户名(默认为 root
  • WORDPRESS_DB_PASSWORD 数据库密码(默认为与其 linkmysql 容器提供的 MYSQL_ROOT_PASSWORD 变量的值)
  • WORDPRESS_DB_NAME 数据库名(默认为 wordpress
  • WORDPRESS_TABLE_PREFIX 数据库表名前缀(默认为空,您可以从该变量覆盖 wp-config.php 中的配置)
  • 安全相关(默认为随机的 SHA1 值)
    • WORDPRESS_AUTH_KEY
    • WORDPRESS_SECURE_AUTH_KEY
    • WORDPRESS_LOGGED_IN_KEY
    • WORDPRESS_NONCE_KEY
    • WORDPRESS_AUTH_SALT
    • WORDPRESS_SECURE_AUTH_SALT
    • WORDPRESS_LOGGED_IN_SALT
    • WORDPRESS_NONCE_SALT

如果 WORDPRESS_DB_NAME 变量指定的数据库不存在时,那么 wordpress 容器在启动时就会自动尝试创建该数据库,但是由 WORDPRESS_DB_USER 变量指定的用户需要有创建数据库的权限。

如果您想通过主机 IP 访问您的站点,那么您可以使用端口映射的功能:

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

然后您就可以在浏览器通过 http://localhost:8080http://host-ip:8080 访问您的站点了。

如果您想使用外部数据库的话,可以通过上述环境变量设置对应数据库的连接方式:

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

使用 Stack 功能部署 WordPress 于自有主机

Stack 是用一个 YAML 文件来描述容器配置和依赖的,这个描述文件完全兼容 Docker Compose 的语法。

您可以使用 Stack 功能将 WordPress 快速部署在您的自有主机上,您可以参考下面的 docker-compose.yml 文件:

wordpress: 
  image: daocloud.io/daocloud/dao-wordpress:latest 
  links: 
    - db:mysql 
  ports: 
    - "80" 
  restart: always 
db: 
  image: mysql 
  environment: 
    - MYSQL_ROOT_PASSWORD=example 
  restart: always

注意

由于上传的文件如图片等会保存在容器中,容器重新部署可能会导致上传文件的丢失,因此不建议您用 Ghost 存储重要文件,但是当您部署于自有主机上时可以通过 Volume 功能挂载宿主机上的目录至容器来做持久化储存。