热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Docker下安装配置lnmp环境

前提:已经成功安装Docker创建mysql容器执行以下命令创建容器dockerrun-d-p3306:3306-eMYSQL_ROOT_PASSWORDwqg951122--na






前提:已经成功安装Docker



创建mysql容器


执行以下命令创建容器

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=wqg951122 --name woann_mysql mysql:5.6

参数说明


  • -d 让容器在后台运行

  • -p 添加主机到容器的端口映射(hostPort:containerPort)

  • -e 设置环境变量,这里是设置mysql的root用户的初始密码*

  • –name 容器的名字,随便取,但是必须唯一


进入到容器(其他容器进入方法都是一样的,替换容器名执行命令即可)

docker exec -ti woann_mysql /bin/bash

参数说明


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

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


安装vim(每个创建的容器都要执行此步骤,后续忽略)

刚创建的容器没有安装vim,所以要手动安装,先执行

apt update

再执行

apt-get install vim

安装完毕即可


创建php容器


执行以下命令创建容器

docker run -d -v /home/wwwroot:/home/wwwroot -p 9000:9000 --link woann_mysql:mysql --name woann_phpfpm php:7.2-fpm

参数说明


  • -d 让容器在后台运行

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

  • -v 添加目录映射,即主机上的/home/wwwroot和容器中/home/wwwroot目录是同步的

  • –name 容器的名字

  • –link 与另外一个容器建立起联系,这样我们就可以在当前容器中去使用另一个容器里的服务。

    这里如果不指定–link参数其实也是可以得,因为容器本身也是有ip的且唯一,所以我们也可以直接利用ip去访问容器。

    添加php测试文件

    /home/wwwroot目录下添加测试php文件index.php

    内容:

    phpinfo();

    创建nginx容器


    执行以下命令创建容器

    docker run -d -p 80:80 -v /home/wwwroot:/home/wwwroot --link woann_phpfpm:phpfpm --name woann_nginx nginx

    参数说明:


  • -d 让容器在后台运行

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

  • -v 添加目录映射,这里最好nginx容器的根目录最好写成和php容器中根目录一样。但是不一点非要一模一样,如果不一样在配置nginx的时候需要注意

  • –name 容器的名字

  • –link 与另外一个容器建立起联系


进入到nginx容器修改配置文件


  • nginx配置文件目录在/etc/nginx/目录下

  • 主配置文件为/etc/nginx/nginx.conf

  • 引用配置文件为/etc/nginx/conf.d/*.conf

  • nginx默认创建了一个引用配置文件(/etc/nginx/conf.d/default.conf)

    执行

    vim /etc/nginx/conf.d/default.conf

    添加如下代码,让nginx接收到php请求时自动转发到phpfpm容器

    location ~ \.php$ {
    root /home/wwwroot;
    fastcgi_pass phpfpm:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }

    测试结果


    查看刚才创建的所有容器

    docker ps

    该命令查看所有正在运行的容器,如查看所有,在命令后加-a

    如下图所示



测试

用浏览器访问http://127.0.0.1/index.php,即可看到phpinfo的信息页面。至此lnmp搭建完毕。




php
laravel
LNMP


推荐阅读
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 本文详细介绍了如何在PHP中进行数组删除、清空等操作,并提供了在Visual Studio Code中创建PHP文件的步骤。 ... [详细]
  • 本文探讨了在Laravel框架下执行涉及多个字段的SUM聚合查询时遇到的问题,特别是当某些关联表中的值为空时,导致最终结果为null的情况。 ... [详细]
  • Docker入门与实践指南
    本文介绍了Docker的基础知识,包括其作为开源应用容器引擎的特点,以及如何利用Docker将应用程序及其依赖项打包成轻量级的容器镜像。同时,还详细讲解了Docker的核心概念、安装过程及基本命令操作。 ... [详细]
  • 作为一名Docker初学者,我已经成功创建了一个基于Alpine Linux 3.4的Docker镜像,该镜像安装了MySQL、Apache和PHP及其相关扩展。本文将探讨如何确保MySQL数据在Docker容器重启后仍能被保留。 ... [详细]
  • 本文探讨了在Git子模块目录中运行pre-commit时遇到的错误,并提供了一种通过Docker环境解决此问题的方法。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 本文提供了在 Kali Linux 2020.01 x64 版本上安装 Docker 的详细步骤,包括环境准备、使用清华大学镜像源、配置 APT 仓库以及安装过程中的常见问题处理。 ... [详细]
  • 本文介绍如何在Laravel框架中集成微信支付功能,包括如何配置微信支付环境、处理支付请求及接收支付回调等关键步骤。 ... [详细]
  • 本文详细介绍了 Kubernetes 集群管理工具 kubectl 的基本使用方法,涵盖了一系列常用的命令及其应用场景,旨在帮助初学者快速掌握 kubectl 的基本操作。 ... [详细]
  • 深入理解Docker网络管理
    本文介绍了Docker网络管理的基本概念,包括为什么需要Docker网络管理以及Docker提供的多种网络驱动模式。同时,文章还详细解释了Docker网络相关的命令操作,帮助读者更好地理解和使用Docker网络功能。 ... [详细]
  • 本文详细介绍了如何在Linux系统中安装和配置GitLab Runner,包括添加YUM源、安装GitLab Runner以及注册Runner的具体步骤。 ... [详细]
  • Windows环境下部署Kubernetes Dashboard指南
    本指南详细介绍了如何在Windows系统中部署Kubernetes Dashboard,包括下载最新配置文件、修改服务类型以支持NodePort访问、下载所需镜像并启动Dashboard服务等步骤。 ... [详细]
  • Working with Errors in Go 1.13
    作者|陌无崖 ... [详细]
author-avatar
Luuuuuuuucy22
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有