一、安装配置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. python3.6 + selenium2.53.1 查询数据库并将返回的内容中每一行的内容转换成class对象

    环境: win10 python3.6 selenium2.53.1 准备工作:先安装pymysql python2.x链接数据库使用MySQLdb,而python3.x链接数据库使用pymysql ...

  2. jQuery笔记之Easing Plugin

    jQuery easing 使用方法首先,项目中如果需要使用特殊的动画效果,则需要在引入jQuery之后引入jquery.easing.1.3.js<script type="text ...

  3. Python学习规划

    短时间踏实而高效的学习python 知乎:如何系统的学习python 简书:最全的python学习手册 目录 Python编程语言 python视频教程 Python神经网络算法与深度学习视频教程人工 ...

  4. electron打包整理

    最近在折腾把项目打包成桌面应用程序,发现一个工具electron,可以讲项目打包成一个跨平台的应用程序,很方便,来学习一下. 1.先安装electron.electron-packager,安装方法可 ...

  5. 升序 Collections.sort(list) 降序 Collections.reserve(list) 随机 Collections.shuffle(list)

    package Day28ketangzuoye; import java.util.ArrayList; import java.util.Collections; import java.util ...

  6. MVP架构模式

    概念解释 MVP是Model(数据) View(界面) Presenter(表现层)的缩写,它是MVC架构的变种,强调Model和View的最大化解耦和单一职责原则 Model:负责数据的来源和封装, ...

  7. 获取select里面option所有的值

    1.HTML结构 <select id="test"> <option value="option-1">option-1</op ...

  8. String的用法——获取功能

    package cn.itcast_04; /* String类获取功能 int length():获取字符的长度 char charAt(int index):获取指定索引位置的字符 int ind ...

  9. iOS Programming State Restoration 状态存储

    iOS Programming State Restoration 状态存储 If iOS ever needs more memory and your application is in the ...

  10. MYSQL 查询方法 统计查询 链接查询 子查询

    mysql表格查询方法: 查询: 1.简单查询 select * from Info --查所有数据select Code,Name from Info --查指定列的数据select Code as ...