Docker实践之搭建wordpress的方法
WordPress是一个非常著名的PHP编写的博客平台,发展到目前为止已经形成了一个庞大的网站平台系统。在WP上有规模庞大的插件和主题,可以帮助我们快速建立一个博客甚至网站。
在Windows上可以非常方便的安装WordPress,因为IIS上集成了WordPress的一键安装包。而在Linux上安装WordPress就比较复杂了,我们需要配置PHP环境、Apache或者Nginx服务器、MySQL数据库以及各种权限和访问问题。所以在Linux上最好的办法就是使用Docker来安装WordPress。
在系列的第一篇文章《Docker实践》中已经search到并pull了官方的wordpress镜像,接下来我们还要search一个官方的mysql将二者结合,搭建一个可用的wordpress站点。
首先,搞定mysql
1.search
$ docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relati... 456 [OK]
2.pull
$ docker pull mysql
其次,考虑二者的联合
$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE wordpress latest ecc04d6d638c 2 weeks ago 470 MB mysql latest aca96d9e6b5c 2 weeks ago 282.7 MB
wordpress启动命令是这样的:
$ sudo docker run --name some-wordpress --link some-mysql:mysql -d wordpress
启动 WordPress 容器时可以指定的一些环境参数包括
-e WORDPRESS_DB_USER=... 缺省为 “root”
-e WORDPRESS_DB_PASSWORD=... 缺省为连接 mysql 容器的环境变量 MYSQL_ROOT_PASSWORD 的值
-e WORDPRESS_DB_NAME=... 缺省为 “wordpress”
-e WORDPRESS_AUTH_KEY=..., -e WORDPRESS_SECURE_AUTH_KEY=..., -e WORDPRESS_LOGGED_IN_KEY=..., -e WORDPRESS_NONCE_KEY=..., -e WORDPRESS_AUTH_SALT=..., -e WORDPRESS_SECURE_AUTH_SALT=..., -e WORDPRESS_LOGGED_IN_SALT=..., -e WORDPRESS_NONCE_SALT=... 缺省为随机 sha1 串
针对wordpress的启动命令,我们需要这样针对:
1.给wordpress可以起个名字,这个好办
2.--link参数,这需要我们先启动mysql,然后将其名字链接上
3.端口 -p参数,默认是80端口,但是被我占用了,这里我们映射到8080
启动的mysql的命令:
$ docker run --name mysql_wordpress -e MYSQL_ROOT_PASSWORD=wordpress -d mysql
mysql的密码,姑且这样暴露着吧。
对应mysql,wordpress的启动命令如下:
$ docker run --name docker_wordpress --link mysql_wordpress:mysql -p 8080:80 -d wordpress
接下来就可以在浏览器中输入http://localhost:8080进行wordpress的配置了。
Enjoy!
第三,用fig来配置
实践证明,用fig配置是最好的途径。在上面的基础上,我们只需在自己的docker目录下新建目录如wordpress-docker,再建fig配置文件fig.yml如下:
wordpress: image: "wordpress:latest" ports: - "8080:80" links: - db:mysql db: image: "mysql:latest" expose: - "3306" environment: - MYSQL_ROOT_PASSWORD=wordpress
每次启动只需执行本目录下的fig up -d就可以了!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- idea 远程调试
- 嘘!高效快速的刷访问量(偷偷收藏)
- 进行JDBC操作时,连接参数的配置(附DBUtil工具类)
- JavaEE中,考勤(签到签退)功能的实现
- HTTP协议详解,浏览器和服务器交互过程详解
- 京东网页(动态)搭建,利用jquery实现
- 京东购物车(动态)网页搭建,利用JavaScript实现
- 你不知道的 TypeScript 泛型(万字长文,建议收藏)
- JavaScript中的函数、对象
- 京东购物车网页(静态)搭建
- MyBatis注解详解
- MyBatis完整环境搭建步骤
- JDBC常见操作总结
- Oracle数据中的序列、索引、视图、事务操作详解以及rowid 和 rownum的简单介绍
- Oracle子查询详解