广告位联系
返回顶部
分享到

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

云和虚拟化 来源:转载 作者:秩名 发布时间:2021-06-25 22:25:37 人浏览
摘要

提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、Mysql? 1.拉取mysql镜像 do

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

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

一、Mysql?

1.拉取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

在这里插入图片描述

参数说明:
-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 这些版本在仓库里都是存在,放心拉

在这里插入图片描述

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文件后,你会发现本地也会有,这就同步了,因为启动容器时已经把主机和容器相应的目录进行
映射了;

在这里插入图片描述
在这里插入图片描述

4.安装pdo_mysql模块

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

docker-php-ext-install pdo_mysql

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

在这里插入图片描述

这样安装之后在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

在这里插入图片描述

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

4.测试安装是否成功

修改index.php代码

<?php

phpinfo();

在这里插入图片描述

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

5.修改配置

docker exec -it xy_phpfpm bash

在这里插入图片描述

这个容器中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();
}

如果没报错,则为成功

总结

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


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://blog.csdn.net/sinat_33801009/article/details/118222960
相关文章
  • kvm 透传显卡至win10虚拟机的方法

    kvm 透传显卡至win10虚拟机的方法
    环境 1 2 3 4 5 6 7 8 9 10 11 已安装nvidia 显卡 驱动 操作系统:CentOS Linux release 7.9.2009 (Core) 内核版本:Linux 5.4.135-1.el7.elrepo.x86_64 显卡 型号:rtx 6000
  • Docker Desktop常见的几种启动失败问题解决方法

    Docker Desktop常见的几种启动失败问题解决方法
    报错1,Error:Failed to restart 点Quit 然后出现提示WSL 2 is not installed 点击 Use Hyper-V 打开 启用或关闭windows功能 确保适用于Linux的Windows子系统和
  • 使用Kubernetes自定义资源(CRD)的介绍
    什么是CRD CRD的全称为CustomResourceDefinitions,即自定义资源。k8s拥有一些内置的资源,比如说Pod,Deployment,ReplicaSet等等,而CRD则提供了一种方
  • 部署k8s集群的实践步骤

    部署k8s集群的实践步骤
    1、部署k8s的两种方式: 目前生产部署Kubernetes集群主要有两种方式: kubeadm Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部
  • docker启动jenkins环境的问题介绍

    docker启动jenkins环境的问题介绍
    【注意:】jenkins的docker镜像,需要从官网进入直接获取,其他地方获取到的docker镜像,可能因为Jenkins版本过低,导致后续插件安装失败等问
  • Docker容器搭建Kafka集群的教程

    Docker容器搭建Kafka集群的教程
    一、Kafka集群的搭建 1.拉取相关镜像 1 2 docker pull wurstmeister/kafka docker pull zookeeper 2.运行zookeeper 1 docker run -d --name zookeeper -p 2181:2181 -t zookeeper
  • 详解Docker容器之间数据传输

    详解Docker容器之间数据传输
    1.从容器中将文件拷贝到宿主机上。 在宿主机你想要接收文件的地方,运行下面的指令 1 docker cp 容器id:home/test . 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  • KVM介绍及作用

    KVM介绍及作用
    一、虚拟化 1、背景 美国环境保护EPA报告中曾经统计过一组统计数据:EPA研究服务器和数据中心得能源效率时发现,实际上服务器只有5%得时
  • 碎片拼接技术恢复XenServer服务器SQL Server数据库数

    碎片拼接技术恢复XenServer服务器SQL Server数据库数
    环境:? Dell PowerEdge服务器; XenServer虚拟化平台; 4块希捷2T STAT硬盘用RAID卡组成的RAID10; XenServer虚拟机操作系统:Windows Server系统; 虚拟机
  • Docker私有仓库Harbor介绍和部署方法介绍

    Docker私有仓库Harbor介绍和部署方法介绍
    Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计