一、安装配置docker

1、下载docker:yum install -y docker

2、设置docker远程镜像地址为国内路径:curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io;然后vim /etc/docker/daemon.json去掉配置文件中的逗号

二、安装配置mysql

1、docker拉取mysql镜像:docker pull mysql:5.6

2、运行mysql容器:docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=xy123456 --name xy_mysql mysql:5.6

三、安装配置php

1、docker拉取php镜像:docker pull php:7.0-fpm

2、在宿主机创建目录:mkdir -p /var/nginx/www/html

3、运行php容器:docker run -d -v /var/nginx/www/html:/var/www/html -p 9000:9000 --link xy_mysql:mysql --privileged --name xy_phpfpm php:7.0-fpm

4、进入php容器:docker exec -it xy_phpfpm bash

5、安装pdo扩展:docker-php-ext-install pdo_mysql

6、配置php.ini:

cp /usr/local/etc/php/php.ini-development  /usr/local/etc/php.ini

vim /usr/local/etc/php.ini

开启pdo扩展,如下

7、退出php容器;exit

8、重启php-fpm服务:kill -USR2 2983(pid要先查询)

四、安装配置nginx

1、docker拉取nginx:docker pull nginx:1.10.3

2、运行nginx容器:docker run -d -p 80:80 --name xy_nginx -v /var/nginx/www/html:/var/www/html --link xy_phpfpm:phpfpm --privileged --name xy_nginx nginx:1.10.3

3、进入nginx容器:docker exec -it xy_nginx bash

4、配置nginx:vim /etc/nginx/conf.d/default.conf

    location ~ \.php$ {
root /var/www/html;
fastcgi_index index.php;
fastcgi_pass phpfpm:;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params; }

5、重新加载nginx配置文件:nginx -s reload

五、测试

1、添加测试文件:vim /var/nginx/www/html/index.php

<?php
try {
$con = new PDO('mysql:host=mysql;dbname=test', 'root', 'xy123456');
$con->query('SET NAMES UTF8');
$res = $con->query('select * from test');
while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
echo "id:{$row['id']} name:{$row['name']}";
}
} catch (PDOException $e) {
echo 'err:' . $e->getMessage();
}

2、virtualbox添加端口转发:

3、连接mysql,添加数据库、数据表及数据

4、url访问:http://127.0.0.1/index.php

六、改进

1、添加开机启动项:

# 启动docker服务
systemctl start docker
# 启动mysql容器
docker start xy_mysql
# 启动php-fpm容器
docker start xy_phpfpm
# 启动nginx容器
docker start xy_nginx

2、建立软连接,因为/var/www目录已经挂载在外部windows系统上,所以添加软连接方便以后代码编辑,ps:添加软连接后需要重启服务:ln -s /var/www/html /var/nginx/www

七、备注:

1、代码连接数据库域名要写为数据库容器关联到php容器的名称,端口为数据库容器的端口:

到此docker下配置lnmp环境完成,参考url:https://blog.csdn.net/xy752068432/article/details/75975065

如果对您有帮助,请给我点个赞>∏<,有什么不正确的也麻烦指出

docker安装配置lnmp的更多相关文章

  1. CentOS 6.5 yum安装配置lnmp服务器(Nginx+PHP+MySQL)

    以下全部转载于  http://blog.csdn.net/lane_l/article/details/20235909 本人于今晚按照该文章使用centos 6.7 64bit安装成功,做个备份, ...

  2. CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL)

    CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL) 一.准备篇: /etc/init.d/iptables stop #关闭防火墙 关闭SELINUX vi /etc/sel ...

  3. CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)

    准备篇 1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dp ...

  4. docker安装配置gitlab详细过程

    docker安装配置gitlab详细过程   获取镜像 1.方法一 1 docker pull beginor/gitlab-ce:11.0.1-ce.0 2.方法二如果服务器网路不好或者pull不下 ...

  5. docker安装配置

    ########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#Docker [docker ...

  6. centos7 docker 安装配置

    docker快速入门测试 ########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#D ...

  7. 【云计算】ubuntu下docker安装配置指南

    Docker Engine安装配置 以下描述仅Docker在Ubuntu Precise 12.04 (LTS).Ubuntu Trusty 14.04 (LTS).Ubuntu Wily 15.10 ...

  8. Centos 7 Docker安装配置

    版本介绍 Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE.社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设 ...

  9. mac系统下docker安装配置mysql详细步骤

    上文介绍了MacOS安装Docker傻瓜式教程,安装好后第一件事就决定把本地数据库迁移过来,那么首先就得安装mysql,下面就开始我们的安装之旅吧. 一.docker配置镜像加速器 我们使用docke ...

随机推荐

  1. bzoj 1927 [Sdoi2010]星际竞速【最小费用最大流】

    果然还是不会建图- 设\( i \)到\( j \)有通路,代价为\( w[i][j] \),瞬移到i代价为\( a[i] \),瞬移到i代价为\( a[j] \),逗号前是流量. 因为每个点只能经过 ...

  2. 洛谷P4114 Qtree1(树链剖分+线段树)

    传送门 LCT秒天秒地用什么树剖 这题可以算是树剖的比较裸的题目了 把每一条边的权值下放到他两边的点中深度较深的那个 然后直接用树剖+线段树带进去乱搞就可以了 //minamoto #include& ...

  3. 【POJ - 1458】Common Subsequence(动态规划)

    Common Subsequence Descriptions: A subsequence of a given sequence is the given sequence with some e ...

  4. jQuery笔记之animate中的queue

    队列 队列的执行顺序 queue() dequeue() 输出对象里面的内容 依次出队 不过这样写太麻烦了,因为每次都要输出,所以我们看下面的方法 运用到队列输出的 <!DOCTYPE html ...

  5. python之定时器Timer

    timer类 Timer(定时器)是Thread的派生类,用于在指定时间后调用一个方法. 构造方法: Timer(interval, function, args=[], kwargs={})  in ...

  6. Hdu 5416 CRB and Tree (bfs)

    题目链接: Hdu 5416 CRB and Tree 题目描述: 给一棵树有n个节点,树上的每条边都有一个权值.f(u,v)代表从u到v路径上所有边权的异或值,问满足f(u,v)==m的(u, v) ...

  7. 给ambari集群里的kafka安装基于web的kafka管理工具Kafka-manager(图文详解)

    不多说,直接上干货! 参考博客 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8.0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口 ...

  8. thinkphp3.2 + soap

    服务器配置 扩展libxml2下载地址:http://xmlsoft.org/downloads.html 在windows下的php.ini文件里 找到这一行代码(如没有则自行添加) extensi ...

  9. @ComponentScan、@EnableFeignClients和@MapperScan注解笔记

    @ComponentScan:此注解是用来管理容器中的bean,即是管理项目中类的依赖关系, 注意此注解并不创建类的实例: 默认情况下此注解扫描本工程下的所有包,                    ...

  10. 技术杂记之:vi使用入门

    对于Linux的初次使用者来说,进入Linux非图形界面后,不知道怎么创建文本(甚至于在图形界面,也找不到创建文本的菜单).其实,每一个Linux的发行版本,都包含了一个最简单.也是最基础的文本编辑器 ...