Docker教程---部署LAMP搭建wordpress博客系统
LAMP是目前比较流行的web框架,即Linux+Apache+Mysql+PHP的网站架构方案。docker是目前非常流行的虚拟化应用容器,可以为任何应用创建一个轻量级、可移植的容器。现在我们就来通过docker来部署LAMP环境,并且搭建wordpress博客系统来测试。
1、下载mysql、php-apache镜像
docker pull mysql docker pull php:7.2-apache
创建自定义网络lamp
docker network create lamp
docker network ls
2、创建生成mysql、httpd-php容器的脚本
vim docker_lamp.sh
#!/bin/bash function mysql() { docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root daocloud.io/library/mysql:5.7.5 \ -v /data/docker/mysql/data:/var/lib/mysql \ -v /data/docker/mysql/conf:/etc/mysql/conf.d -v /data/docker/mysql/logs:/logs } function httpd_php() { docker run --name httpd-php --net lamp -p 80:80 \ -v /data/docker/httpd/conf:/etc/apache2/sites-enabled \ -v /data/docker/www:/var/www/html \ -v /data/docker/httpd/logs:/var/log/apache2 \ -d php:7.2-apache } $1
3、启动mysql、httpd-php容器
sh docker_lamp.sh mysql
sh docker_lamp.sh httpd_php
4、写一个php的首页文件来进行测试
echo "<?php phpinfo(); ?>" > /data/docker/www/index.php
通过浏览器访问http://10.0.0.11
5、下载wordpress博客系统
wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz tar -zxvf wordpress-4.9.4-zh_CN.tar.gz -C /data/docker/www/
6、配置wordpress博客
浏览器访问http://10.0.0.11/wordpress
有个报错
7、修改wp-config-sample.php配置
cd /data/docker/www/wordpress/
vim wp-config-sample.php #修改以下内容
/** WordPress数据库的名称 */ define('DB_NAME', 'wordpress'); /** MySQL数据库用户名 */ define('DB_USER', 'root'); /** MySQL数据库密码 */ define('DB_PASSWORD', '123456'); /** MySQL主机 */ define('DB_HOST', '10.0.0.11'); /** 创建数据表时默认的文字编码 */ define('DB_CHARSET', 'utf8'); /** 数据库整理类型。如不确定请勿更改 */ define('DB_COLLATE', '');
再用浏览器访问http://10.0.0.11/wordpress
查阅资料后发现,原来从PHP5.0开始就不推荐使用mysql_connect()函数了,而到了php7.0则直接废弃了该函数,替代的函数是mysqli_connect(),终于找到问题原因了。
8、Call to undefined function mysql_connect()问题解决方法
进入到mysql容器里安装mysqli扩展
docker exec -it httpd-php /bin/bash apt-get update apt-get install libpng-dev cd /usr/local/bin/ ./docker-php-ext-install gd mysqli ./docker-php-ext-enable gd mysqli exit docker restart httpd-php
编写一个测试连接mysql的php
vim /data/docker/www/test.php
<?php echo "Hello PHP<br/>"; $conn = mysqli_connect("10.0.0.11","root","123456"); if(!$conn){ echo "连接数据库失败"; }else{ echo "连接数据库成功"; } phpinfo(); ?>
修改wp-db.php文件,将mysql_connect替换为mysqli_connect
cd /data/docker/www/wordpress/ sed -i "s/mysql_connect/mysqli_connect/g" wp-includes/wp-db.php mv wp-config.php wp-config-sample.php
9、重新配置wordpress博客
按前面的步骤填写完连接mysql的配置信息后,看到如下页面,表示mysql连接成功。
需要手工创建wp-config.php文件,将以上信息贴入wp-config.php文件中
vim /data/docker/www/wordpress/wp-config.php
然后点击“现在安装”,出现以下页面
输入完以上信息后,点击“安装WordPress”
相关文章
- 容器化部署博客(1)—— 安装 docker 和 docker-compose
- 容器化部署博客(2)—— docker-compose 部署 izone 博客
- Docker镜像管理基础
- docker安装Lefse和分析流程[通俗易懂]
- Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
- 2.Ubuntu安装docker
- 【Web开发】docker+halo搭建个人博客
- Docker部署_docker部署网站
- 解决Docker镜像拉取失败问题
- docker高级教程_docker到底怎么用
- docker mysql 启动失败_mysql启动1067错误
- 关于Docker中 容器镜像管理,数据卷网络,本地仓库,容器监控的一些笔记
- 【docker-compose】一键部署WordPress博客
- 【已解决】Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon runnin
- docker系列教程:docker图形化工具安装及docker系列教程总结
- 【好玩儿的Docker项目】10分钟部署一个类似知乎的开源问答平台——Answer
- 【Docker 系列】docker 学习九,Compose 内容编排官网初步体验
- kafka学习一:docker安装kafka
- docker-compose
- 在Linux系统中安装Docker容器(linux下安装docker)
- docker从Abp到MySQL,使用Docker快速部署(abpmysql)
- 限制容器的 Block IO – 每天5分钟玩转 Docker 容器技术(29)
- Docker 架构详解 – 每天5分钟玩转容器技术(7)
- 的docker容器创建并使用Docker容器启动Redis数据库(创建并启动名为redis)