Docker如何快速搭建LNMP环境(最新)

作者:HarryPoFly 时间:2023-07-31 16:42:53 

前言

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

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

一、Mysql?

1.拉取mysql镜像


docker pull mysql:5.6

Docker如何快速搭建LNMP环境(最新)

2.运行启动mysql容器


docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=xy123456 --name xy_mysql mysql:5.6

Docker如何快速搭建LNMP环境(最新)

参数说明:
-d 让容器在后台运动
-p 添加主机到容器的端口映射
-e 设置mysql环境变量,设置root的初始密码
–name 给容器取名字
最后一个参数是镜像名称,为拉取镜像的名称

二、安装php-fpm

1.拉取php-fpm镜像


docker pull php:7.0-fpm

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

Docker如何快速搭建LNMP环境(最新)

2.运行启动php-fpm容器


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容器


docker exec -it xy_phpfpm bash

参数说明
-t 在容器里生产一个伪终端
-i 对容器内的标准输入 (STDIN) 进行交互

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

Docker如何快速搭建LNMP环境(最新)
Docker如何快速搭建LNMP环境(最新)

4.安装pdo_mysql模块

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


docker-php-ext-install pdo_mysql

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

Docker如何快速搭建LNMP环境(最新)

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

三、安装nginx

1.拉取nginx镜像


docker pull nginx:1.10.3

2.运行nginx容器


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


docker exec -it xy_nginx bash

Docker如何快速搭建LNMP环境(最新)

这里推荐去 /etc/nginx/conf.d/default.conf下去更改;
fastcgi_pass 写php:7.0-fpm:9000 别写起的别名可能会失效;
root写成之前php容器设置的代码目录;

4.测试安装是否成功

修改index.php代码


<?php

phpinfo();

Docker如何快速搭建LNMP环境(最新)

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

5.修改配置


docker exec -it xy_phpfpm bash

Docker如何快速搭建LNMP环境(最新)

这个容器中php.ini 在/usr/local/etc/php下 php.ini-development php.ini-production
这两个文件就是php.ini 文件是一模一样 看名字就知道什么意思了
把extension=php_pdo_mysql.dll扩展放开就可以

6.链接mysql测试

修改index.php代码


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();
}

如果没报错,则为成功

来源:https://blog.csdn.net/sinat_33801009/article/details/118222960

标签:Docker,LNMP,环境
0
投稿

猜你喜欢

  • 域名转出成功(从商务中国转到GoDaddy)

    2009-03-22 15:27:00
  • 深入浅析Linux轻量级自动运维工具-Ansible

    2022-11-15 22:33:54
  • DeDeCms V5.6数据批量索引到淘特搜索引擎

    2010-06-20 15:32:00
  • 一个简单的linux命令 mkdir

    2023-08-26 11:49:55
  • 在Linux系统上安装Spring boot应用的教程详解

    2023-05-11 16:56:25
  • Docker容器 日志中文乱码问题解决办法

    2023-10-01 21:29:10
  • 不用Google Adsense的84个赚钱方法

    2007-09-23 16:17:00
  • 从侠客站长站的成长相信自己的路

    2009-03-11 17:30:00
  • 拒绝攻击 万能Asp防注入代码

    2007-09-18 14:28:00
  • 友情链接首看友情 做链接应注重RP而非PR

    2008-12-16 10:07:00
  • WCG中国成都世界电子竞技总决赛于今日开幕

    2009-11-12 07:07:00
  • 利用virtualbox虚拟机实现端口转发

    2022-06-14 01:20:27
  • MAC VMWare Fusion网络设置方法

    2023-11-03 17:00:33
  • 使用adsense的网站定位广告贵宾通道

    2008-04-15 15:16:00
  • 新手教程③ VPS常用安全设置相关内容

    2011-05-26 12:09:00
  • 什么是 POP3 POP3 命令简介

    2010-03-24 18:31:00
  • 六个月来对怎么赚钱的验证总结

    2007-12-22 16:43:00
  • 实惠就是硬道理 普通站长服务器选购指南

    2008-08-21 17:50:00
  • linux防火墙配置教程之允许转发实验(2)

    2023-06-15 09:58:10
  • 百度游戏频道与178.com网合作频道正式上线

    2009-11-27 16:32:00
  • asp之家 网站运营 m.aspxhome.com