小知识:Docker如何快速搭建LNMP环境(最新)

前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。

提示:以下是本篇文章正文内容,下面案例可供参考

一、mysql?

1.拉取mysql镜像

?
1
docker pull mysql:5.6

%小知识:Docker如何快速搭建LNMP环境(最新)-猿站网-插图

2.运行启动mysql容器

?
1
docker run -d -p 3307:3306 -e mysql_root_password=xy123456 –name xy_mysql mysql:5.6

%小知识:Docker如何快速搭建LNMP环境(最新)-1猿站网-插图

参数说明:

-d 让容器在后台运动

-p 添加主机到容器的端口映射

-e 设置mysql环境变量,设置root的初始密码

–name 给容器取名字

最后一个参数是镜像名称,为拉取镜像的名称

二、安装php-fpm

1.拉取php-fpm镜像

?
1
docker pull php:7.0-fpm

也可拉docker pull php:7.4.20-fpm docker pull php:7.3.28-fpm 这些版本在仓库里都是存在,放心拉

%小知识:Docker如何快速搭建LNMP环境(最新)-2猿站网-插图

2.运行启动php-fpm容器

?
1
docker run -d -v d:/docker/nginx:/var/www/html -p 9000:9000 –link xy_mysql:mysql –name xy_phpfpm php:7.0-fpm

参数说明:

-d 让容器在后台运动

-p 添加主机到容器的端口映射

-v 添加目录映射,主机上的d:/docker/nginx映射到/var/www/html ,即同步目录下内容.d:/docker/nginx这个主机下的目录你直接复制你想要

写代码的目录即可,$pwd如果有效的话是指当前目录,我是因为使用此参数报错,所以直接复制粘贴了路径.

–name 给容器取名字

–link 与另外一个容器建立联系,这样可以在当前容器去使用另一个容器的服务

最后一个参数是镜像名称,为拉取镜像的名称

3.进入php-fpm容器

?
1
docker exec -it xy_phpfpm bash

参数说明

-t 在容器里生产一个伪终端

-i 对容器内的标准输入 (stdin) 进行交互

在/var/www/html/下创建一个index.php文件后,你会发现本地也会有,这就同步了,因为启动容器时已经把主机和容器相应的目录进行

映射了;

%小知识:Docker如何快速搭建LNMP环境(最新)-3猿站网-插图 %小知识:Docker如何快速搭建LNMP环境(最新)-4猿站网-插图

4.安装pdo_mysql模块

因之后要使用pdo模块进行测试,所以安装pdo_mysql模块.

?
1
docker-php-ext-install pdo_mysql

php -m 打印查看是否安装成功;

%小知识:Docker如何快速搭建LNMP环境(最新)-5猿站网-插图

这样安装之后在phpinfo()打印后不一定会显示扩展,之后测试会有修改的步骤

三、安装nginx

1.拉取nginx镜像

?
1
docker pull nginx:1.10.3

2.运行nginx容器

?
1
docker run -d -p 80:80 -v  d:/docker/nginx:/var/www/html –link xy_phpfpm:phpfpm –name xy_nginx nginx:1.10.3

3.进入nginx容器,修改nginx配置文件让他支持php

?
1
docker exec -it xy_nginx bash

%小知识:Docker如何快速搭建LNMP环境(最新)-6猿站网-插图

这里推荐去 /etc/nginx/conf.d/default.conf下去更改;

fastcgi_pass 写php:7.0-fpm:9000 别写起的别名可能会失效;

root写成之前php容器设置的代码目录;

4.测试安装是否成功

修改index.php代码

?
1
2
3
<?php
phpinfo();

%小知识:Docker如何快速搭建LNMP环境(最新)-7猿站网-插图

这个在使用之前安装的命令之后phpinfo()并没有mysql,需要进入php.ini中去更改

5.修改配置

?
1
docker exec -it xy_phpfpm bash

%小知识:Docker如何快速搭建LNMP环境(最新)-8猿站网-插图

这个容器中php.ini 在/usr/local/etc/php下 php.ini-development php.ini-production

这两个文件就是php.ini 文件是一模一样 看名字就知道什么意思了

把extension=php_pdo_mysql.dll扩展放开就可以

6.链接mysql测试

修改index.php代码

?
1
2
3
4
5
6
7
8
9
10
11
try {
$con = new pdo(mysql:host=xy_mysql;dbname=mysql, root, xy123456);
$con->query(set names utf8);
$res =  $con->query(select * from user);
while ($row = $res->fetch(pdo::fetch_assoc)) {
//  echo “id:{$row[id]} name:{$row[name]}”;
print_r($row);
}
} catch (pdoexception $e) {
echo 错误原因:  . $e->getmessage();
}

如果没报错,则为成功

总结

成功则初级环境搭建就ok了,整个过程搭建要细心,在配置文件的时候多查资料

以上就是docker搭建lnmp环境 的详细内容,更多关于docker搭建lnmp环境的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/sinat_33801009/article/details/118222960

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Kubernetes配置热更新的两种方式

2023-3-20 13:53:30

建站知识

小知识:Mac为docker和kubectl添加自动补全命令的方法

2023-3-20 14:08:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索