广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Docker中部署NMP环境
  • 611
分享到

Docker中部署NMP环境

dockernginxphpmysql 2023-09-06 13:09:09 611人浏览 八月长安
摘要

文章目录 下载镜像创建数据持久化存放目录创建相关配置文件创建自定义网络启动NGINX容器启动PHP容器启动MYSQL容器测试NMP环境基于NMP容器构建WordPress博客项目 下载镜

在这里插入图片描述

文章目录

下载镜像

Docker pull PHP:7.0.10-fpm-alpinedocker pull Nginx:1.22.0docker pull Mysql:5.7.39

创建数据持久化存放目录

说明:docker的数据持久化是数据不会随着容器的结束而结束,数据持久化分为具名挂载和匿名挂载,本次使用具名挂载,将数据存储在宿主机上并指定挂载宿主机挂载点。

mkdir /data/NMP/{mysql,php,NGINX,WEB} -p   // 创建NGINX、PHP、MYsql、WEB目录mkdir /data/NMP/MYSQL/{conf,data}   // 创建MYSQL配置目录、数据存储目录mkdir /data/NMP/MYSQL/logs   // 创建MYSQL日志存放目录chmod 777 /data/NMP/MYSQL/logs/   // 赋予MYSQL日志目录权限mkdir /data/NMP/NGINX/{conf,logs}   // 创建NGINX配置目录、日志存放目录mkdir /data/NMP/PHP/conf   // 创建PHP配置文件存放目录

创建相关配置文件

创建NGINX配置文件让其支持PHP:
说明:“172.66.68.101”是PHP服务器的IP地址(必须指定),“/var/www/html”是PHP服务器存放网页内容的地址,这里需要结合PHP容器内决定。

vim /data/NMP/NGINX/conf/docker.conf// 创建NGINX配置文件server {    listen 80;server_name localhost;    location / {        root /usr/share/nginx/html;        index index.php index.html;    }    location ~ \.php$ {        root  html;        fastcgi_pass 172.66.68.101:9000;        fastcgi_index index.php;        fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;        include fastcgi_params;    }}

创建MYSQL配置文件让其开启MYSQL日志:
如果无需记录MYSQL的日志文件,则可以忽略此步骤,忽略的同时在启动容器的时候就可以不用挂载MYSQL日志存放目录。

cat > /data/NMP/MYSQL/conf/docker.cnf << EOF[mysqld]log_error=/mysql/mysql.error.logEOF

创建自定义网络

自定义网络修复了Docker0网桥与容器之间无法用容器名互相ping通的问题,只能使用IP才能ping通,但是我们自定义的网络是可以用IP或容器名互相ping通的,它的好处是将不同的集群使用不同的网络,保证集群是安全和健康的!
创建一个名为“LNMP”的网络名称、采用“brige”网络模式、IP网段“172.66.68.0/24”、网关地址“172.66.68.1”

docker network create --driver bridge --subnet 172.66.68.0/24 --gateway 172.66.68.1 LNMP

启动NGINX容器

命名为“NGINX_1”,IP地址“172.66.68.100”,映射端口“80”。

docker run -d --name=NGINX_1 -p80:80 --net=LNMP --ip=172.66.68.100 \-v /data/NMP/NGINX/conf/:/etc/nginx/conf.d \-v /data/NMP/NGINX/logs/:/var/log/nginx \-v /data/NMP/WEB/:/usr/share/nginx/html nginx:1.22.0

启动PHP容器

命名为“PHP_1”,IP地址“172.66.68.101”。

docker run -d --name=PHP_1 --net=LNMP --ip=172.66.68.101 \-v /data/NMP/WEB/:/var/www/html/ \-v /data/NMP/PHP/conf:/usr/local/etc/php/conf.d php:7.0.10-fpm-alpine

启动MYSQL容器

命名为“MYSQL_1”,IP地址“172.66.68.102”,映射端口“3306”。

docker run -d --name=MYSQL_1 -p3306:3306 --net=LNMP --ip=172.66.68.102 \-v /data/NMP/MYSQL/data/:/var/lib/mysql \-v /data/NMP/MYSQL/conf/:/etc/mysql/conf.d \-v /data/NMP/MYSQL/logs/:/mysql/ -e MYSQL_ROOT_PASSWord=asdzxc mysql:5.7.39

测试NMP环境

创建测试PHP连接:

echo "" > /data/NMP/WEB/index.php

浏览器访问:Http://172.66.66.66/index.php
在这里插入图片描述
创建测试连接数据库

docker exec -it 30d4136b979e  /bin/sh// 进入PHP容器“30d4136b979e容器ID”sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories// 修改本地源docker-php-ext-install mysqli // 安装php扩展支持连接MYSQLexit// 退出容器docker restart 30d4136b979e// 重启PHP容器“30d4136b979e容器ID”vim /data/NMP/PHP/html/sql.php// 创建数据库连接<?php$servername = "172.66.68.102";$username = "root";$password = "asdzxc";// 创建连接$conn = new mysqli($servername, $username, $password);// 检测连接if ($conn->connect_error) {    die("连接失败: " . $conn->connect_error);}echo "连接成功";?>

浏览器访问:http://172.66.66.66/sql.php
在这里插入图片描述

基于NMP容器构建WordPress博客项目

rm -rf /data/NMP/WEBdefine('DB_NAME', 'wordpress');define('DB_USER', 'user');define('DB_PASSWORD', '123456');define('DB_HOST', '172.66.68.102');# a进行插入,修改完成后按Esc,:wq保存退出

配置数据库:进入到MYSQL容器

docker exec -it c03f2e2221a2  /bin/bash// 进入MYSQL容器mysql -uroot -pcreate database wordpress;// 创建数据库create user 'user'@'%' identified by '123456';// 创建用户grant all privileges on wordpress.* to 'user'@'%';// 用户授权flush privileges;// 刷新权限

浏览器访问:http://172.66.66.66/wordpress
在这里插入图片描述
登录到项目中:
在这里插入图片描述
至此部署完成~希望此文档对您有所帮助,祝你工作顺利!!!

来源地址:https://blog.csdn.net/Du_Linux/article/details/126289338

--结束END--

本文标题: Docker中部署NMP环境

本文链接: https://www.lsjlt.com/news/397043.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker中部署NMP环境
    文章目录 下载镜像创建数据持久化存放目录创建相关配置文件创建自定义网络启动NGINX容器启动PHP容器启动MYSQL容器测试NMP环境基于NMP容器构建WordPress博客项目 下载镜...
    99+
    2023-09-06
    docker nginx php mysql
  • docker怎么部署php开发环境
    要部署PHP开发环境,可以使用Docker来创建一个容器化的PHP开发环境。以下是一些步骤: 安装Docker:首先,你需要在你...
    99+
    2023-10-23
    docker php
  • 利用Docker快速部署Oracle环境
    工作中需要频繁使用Oracle环境,但是每次搭建起来比较消耗时间,本想通过虚拟机模板的方式来快速安装oracle vm,但是每次改ip等环境也很耗时,因此想到docker中有没有已经做好的p_w_picpa...
    99+
    2022-10-18
  • centos怎么搭建部署docker环境
    这篇文章主要介绍“centos怎么搭建部署docker环境”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“centos怎么搭建部署docker环境”文章能帮助大家解决问题。1、Docker的存在解决的...
    99+
    2023-07-02
  • Docker中怎么部署LNMP服务器环境
    今天小编给大家分享一下Docker中怎么部署LNMP服务器环境的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。镜像下载[roo...
    99+
    2023-06-28
  • Docker部署php运行环境(php-fpm+nginx)
    前言 如果使用docker去部署一套php的运行环境,我们需要构建出nginx、php-fpm两个容器,nginx通过fast_cgi协议去转发php-fpm中的端口,从而实现web server的搭建,接下来以php的laravel框架为...
    99+
    2023-09-15
    docker php nginx php-fpm
  • 怎么用Docker快速部署GPU环境
    这篇文章主要为大家展示了“怎么用Docker快速部署GPU环境”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用Docker快速部署GPU环境”这篇文章吧。在 Linux 服务器上使用 GPU...
    99+
    2023-06-15
  • Docker 自定义Dev环境并部署php
    docker其实比之前想象的要简单,下载你想要的服务镜像,用 docker run 生成一个容器,当你基础环境都ok的时候,docker commit 命令保存你新的自定义镜像,我需...
    99+
    2022-11-13
  • Docker部署nginx+php环境,简单可用!
    第一步:安装Docker 访问下面地址,根据你的需要下载安装docker运行环境。 下载docker desktophttps://www.docker.com/ 如果你是Windows、macOS(Intel/M1)、Linux桌面OS,...
    99+
    2023-09-25
    docker nginx 容器
  • 怎么使用Docker快速部署ELK环境
    这篇文章主要介绍“怎么使用Docker快速部署ELK环境”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Docker快速部署ELK环境”文章能帮助大家解决问题...
    99+
    2022-10-19
  • 用docker部署RabbitMQ环境的详细介绍
    前置条件: 已经安装好docker 1.查找镜像(有2种方式) ①登录rabbitmq官网找到docker镜像,选择想要的镜像的tag https://www.rabbitmq.co...
    99+
    2022-11-12
  • 【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署
    注意在应用部署之前,docker 服务必须是开启状态 systemctl start docker。 目录 一、MySQL 部署 二、Tomcat 部署 三、Nginx 部署 四、Redis 部署 一、MySQL 部署 1. 拉取 My...
    99+
    2023-10-03
    云原生 docker tomcat redis mysql
  • 怎么使用docker在linux环境中部署springboot包
    小编给大家分享一下怎么使用docker在linux环境中部署springboot包,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!因为springboot是内嵌了t...
    99+
    2023-06-14
  • Python环境部署
    安装python2.7,安装在默认位置;配置python的Path环境变量C:\Python27;在cmd中输入python可以看到python安装成功,可以直接在cmd中运行python代码;用命令行写代码时无法保存代码,我们需要保存代码...
    99+
    2023-01-31
    环境 Python
  • centos搭建部署docker环境的详细步骤
    目录1、Docker的存在解决的问题1.1 统一标准1.2 资源隔离2、Docker的建构3、安装Docker1、卸载以前安装的docker2、配置yun源3、安装docker4、启动docker并设置为开机自启5、查看一下当前的docke...
    99+
    2022-09-23
  • Windows下如何用Docker部署Node.js开发环境
    这篇文章主要介绍了Windows下如何用Docker部署Node.js开发环境的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Windows下如何用Docker部署Node.js...
    99+
    2022-11-30
    windows docker node.js
  • Linux离线环境安装部署docker(超详细)
    离线文件下载:根据实际情况下载离线包 docker-Linux下载地址 搭建docker环境准备 在能连网的服务器上下载所需的镜像,例如 docker pull mysql:8(拉取mysql:8镜像)docker images(查看镜像)...
    99+
    2023-08-21
    docker linux 容器 运维 服务器
  • 使用docker在linux环境中部署springboot包的教程
    因为springboot是内嵌了tomcat服务器的,所以打成jar包后,是可以直接运行的。 首先我们看一下,在windows环境下的打包部署 1. 进行install打包 2. 检查,在target目录中是否存在了...
    99+
    2022-06-03
    docker部署springboot包 linux 环境docker部署springboot包
  • 如何在docker中部署一个.NET 5 运行环境
    如何在docker中部署一个.NET 5 运行环境?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、创建站点创建一个ASP.NET Core Web应用程序,选中启用Docke...
    99+
    2023-06-07
  • mac 部署python环境
    Python中最连接Mysql常用的驱动是mysql-python :mysql的C语言的驱动 mysql-connector:msql官方的驱动 pymysql:python语言的驱动我这里安装的是 mysql-python终端中执行pi...
    99+
    2023-01-31
    环境 mac python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作