docker lamp php7,docker学习---搭建Docker LAMP环境

1、环境

系统版本:CentOS Linux release 7.4.1708

docker版本:docker-ce-18.09

主机IP:192.168.121.121

2、载入MySQL和PHP镜像

$ docker pull mysql

$ docker pull php:7.2-apache

3、创建网络

$ docker network create lamp

6549dbc105bba9e51d4d0b13df7ae17916c3628f5a07c81551203fb63c15892e

查看网络

$ docker network lsNETWORK ID NAME DRIVER SCOPE

be6ab252106a bridge bridge local

3f26bc9f85e3 host host local

6549dbc105bb lamp bridge local

7f2db0f13ffc nonenull local

4、创建生成mysql和php容器的脚本

$ vi docker_lamp.sh

a7cca6acabcb6eba464acaea33447fe3d44.jpg

14be7beb2284f7c058f19754f23491a61a9.jpg

#!/bin/bashfunctionmysql()

{

docker run--name mysql --net lamp -p 3306:3306\-v /data/docker/mysql/data:/var/lib/mysql \-v /data/docker/mysql/conf:/etc/mysql/conf.d \-v /data/docker/mysql/logs:/logs \-e MYSQL_ROOT_PASSWORD=Test1234 \-d mysql:latest --character-set-server=utf8

}functionhttpd_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

View Code

5、启动mysql和php容器

$ sh docker_lamp.shmysql

9c2362b5e32f24bd9e21ae13f8accb6d35c359621dc5b5e36a273d1e64424920

$sh docker_lamp.shhttpd_php

d466d5de8d133343d3e591b598c4f5b5958618e47f841ebfeaa81cae56ad6139

查看容器

$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

d466d5de8d13 php:7.2-apache "docker-php-entrypoi…" 3 seconds ago Up 1 second 0.0.0.0:80->80/tcp httpd-php

9c2362b5e32f mysql:latest"docker-entrypoint.s…" 24 seconds ago Up 22 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp mysql

6、写测试页面进行测试

为目录赋权

# chown -R dkuser:dkuser /data

写测试页面

$ echo "<?php phpinfo();?>" > /data/docker/www/index.php

浏览器访问地址 192.168.121.121 ,出现 PHP 的页面就说明是OK的。

7、修改mysql密码加密方式为mysql_native_password

$ vi /data/docker/mysql/conf/docker_mysql.conf

[mysqld]

default-authentication-plugin=mysql_native_password

8、数据库操作

登陆mysql容器,创建、配置wordpress数据库

$ docker exec -it mysql /bin/bash

root@9c2362b5e32f:/# chown -R mysql:mysql /var/lib/mysql

root@9c2362b5e32f:/# mysql -uroot -pTest1234

mysql>create database wordpress;

mysql> create user wps@localhost identified by '123456';

mysql> grant all privileges on wordpress.*to wps@localhost;

mysql> create user wps@172.18.0.1 identified by '123456';

mysql> grant all privileges on wordpress.* to wps@172.18.0.1;

mysql> alter user wps@172.18.0.1 identified with mysql_native_password by '123456';

9、配置wordpress博客系统

9.1、下载wordpress包并解压

$ wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz

$tar -zxf wordpress-4.9.4-zh_CN.tar.gz -C /data/docker/www

9.2、修改wordpress配置

$ cd /data/docker/www/wordpress/

$ vi wp-config-sample.php

4ffcf936fc29c54f8922374cf7bcc42ff89.jpg

54bbaa8ab4c1cf9c368c239d2527e9c82c5.jpg

/** WordPress数据库的名称*/define('DB_NAME', 'wordpress');/** MySQL数据库用户名*/define('DB_USER', 'wps');/** MySQL数据库密码*/define('DB_PASSWORD', '123456');/** MySQL主机*/define('DB_HOST', '192.168.121.121');/** 创建数据表时默认的文字编码*/define('DB_CHARSET', 'utf8');/** 数据库整理类型。如不确定请勿更改*/define('DB_COLLATE', '');

View Code

$ mv wp-config-sample.php wp-config.php

9.3、修复问题

从PHP5.0开始不推荐使用mysql_connect()函数,从PHP7.0开始就废弃了该函数,替代的函数是mysqli_connect(),下面是解决办法:

进入php容器安装mysqli扩展

$ docker exec -it httpd-php /bin/bash

root@d466d5de8d13:/var/www/html# apt-get update

root@d466d5de8d13:/var/www/html# apt-get install libpng-dev

root@d466d5de8d13:/var/www/html# cd /usr/local/bin/root@d466d5de8d13:/usr/local/bin# ./docker-php-ext-installgd mysqli

root@d466d5de8d13:/usr/local/bin# ./docker-php-ext-enable gd mysql

退出容器,重启容器

$ docker restart httpd-php

替换方法

$ cd /data/docker/www/wordpress

$sed -i "s/mysql_connect/mysqli_connect/g" wp-includes/wp-db.php

9.4、打开wordpress页面进行配置

打开页面 http://192.168.121.121/wordpress ---> 在出现的页面点击 “现在就开始”  ---> 填写下面所示的数据库信息:

数据库名 wordpress

用户名 wps

密码 123456

数据库主机 192.168.121.121

表前缀 wp_

---> 点击 “安装WordPress” ---> 点击 “登陆” ---> 使用账户和密码登陆博客,之后就可以进入博客页面,进而对博客进行管理了。

参考:

https://blog.51cto.com/andyxu/2177116

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值