Docker中部署NMP环境

Centos 7.9 NMP环境搭建 nginx配置文件目录。查看mysql初始密码。初始化mysql配置。安装php和一些扩展。www.conf修改。 阅读详情

在这里插入图片描述

下载镜像

docker pull php:7.0.10-fpm-alpine
docker pull nginx:1.22.0
docker 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.log
EOF

创建自定义网络

自定义网络修复了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 "<?php phpinfo(); ?>" > /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扩展支持连接MYSQL
exit				// 退出容器
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/WEB/*        // 删除刚测试的文件
wget https://cn.wordpress.org/wordpress-5.0.4-zh_CN.tar.gz				// 下载wordpress
tar zxvf wordpress-5.0.4-zh_CN.tar.gz -C /data/NMP/WEB/				// 解压wordpress
cd /data/NMP/WEB/wordpress/						// 进入到项目目录
cp wp-config-sample.php wp-config.php				// 复制项目配置文件
vim wp-config.php						// 修改项目配置文件(修改以下标红内容)
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');

/** MySQL数据库用户名 */
define('DB_USER', 'user');

/** MySQL数据库密码 */
define('DB_PASSWORD', '123456');

/** MySQL主机 */
define('DB_HOST', '172.66.68.102');
# a进行插入,修改完成后按Esc,:wq保存退出

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

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

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

2023东华大学OJ机试题22-70 东华大学计算机考研复试机试22 约瑟夫环223、整除的尾数24、回文质数25、汽水瓶26、阶乘最后的非0位27、算菜价28、 水果价格29、求奇数的乘积30、求最晚和最早日期31、素数32、计算e33 数字之和34 繁殖问题35 奇妙的数字36 整除的尾数37 黑色星期五38 树39 约瑟夫环40 最大与最小41 环42 求数列项43 最高频率44 三艘船45 回文数46 特殊四位数47 最大值48 数列149 修理牛棚50 按要求输出序列51 部落人乘法52 序列53 双重回文数54 等差数列55 人见人 阅读详情

相关推荐

手把手教你用微信小程序实现智能硬件音视频通话(含Linux/RTOS适配)

本文详细介绍了如何利用微信小程序硬件框架(WMPF)和音视频SDK,在智能硬件(包括Linux与RTOS设备)上实现音视频通话功能。文章从架构设计、设备端SDK集成、小程序VOIP插件开发到跨平台调试与性能优化,提供了全链路实战指南,帮助开发者打通微信小程序与嵌入式设备间的实时音视频通信。

ooo22的博客 329

dockerfile基于NMP+wordpress创建镜像

浏览器访问http://20.0.0.16/wordpress/index.php。(解析php文件,需要挂载nginx和mysql)/opt/nginxlogs容器的目录。原因:nginx的html没有赋权。/opt/nginx宿主机的目录。解决:创建nginx容器时赋权。①准备好nginx的配置文件。①准备好mysql的配置文件。2、创建容器的自定义网络。②创建nginx基础镜像。(1)nginx镜像。③构建nginx镜像。④创建nginx容器。(2)mysql镜像。②创建mysql镜像。

2303_79207100的博客 356

【硬件】通俗易懂的讲解晶体管(三极管和MOS管)的工作原理

晶体管是一个简单的元器件,可用于构建许多有趣的项目。在本文中,我将用通俗易懂的语言给您讲解晶体管的工作原理,以便您可以在电路设计中更好的使用静态管。一旦你学习这些基础知识,对以后的设计和使用来说,将会变得非常容易。我们将重点介绍两种最常见的晶体管:双极型晶体管(三极管)和MOSFET。晶体管的工作原理其实是类似于电子开关。它可以打开和关闭电路。一个简单的思考方法是将晶体管视为无源的继电器。晶体管类似于继电器,从某种意义上说,您可以使用它来打开和关闭某些东西。但晶体管也可以部分导通,一般在放大电路中使用,这部

1万+

win10 下 用docker 部署nmp搭建开发环境

最近了解到docker也是使用的比较多的一款环境的软件,然后自己就根据网上的学者搭一下nmp的php开发环境 1.首先安装docker (win10专业版的) 安装主要是注意是否开启了 开启后基本都是可以安装成功 2.右下角右击 Switch to window 。。。。因为我已经切换了,所以这里就显示让我切换成linux的 3. 更换镜像,外国镜像后面docker run会很慢,这边还是建议切换成国内的镜像 "registry-mirrors": ["https://regist

Jrlriving的博客 2553

HTML流光爱心(完整代码)

HTML语言实现红蓝色流光爱心效果的完整代码。

AIGC 1万+

Qt视频播放器项目(打开文件,视频的播放与停止,进度条与视频进度绑定,调整音量,设置按钮图标,将槽函数与按钮绑定等功能)完整代码地址在末尾

【代码】Qt视频播放器项目。

分享计算机视觉,C++,网络摄像头研发,音视频开发,嵌入式等知识。 755

nodejs和npm安装和配置

常见问题: 下载文件速度慢,走国外代理IP,提高下载速度:1.购买VPN 2.免费VPN 3.自搭代理服务器 node_moudles 这个文件目录路径太深,会产生,无法删除的时候(Windows) 下载nodejs 10.x ,安装 nodejs配置 配置环境变量 1.nodejs环境变量 PATH="nodejs" PATH="nodejs\node_global" ......

心比天高的专栏 2005

错误代码:11300001 数据集 [xxx] 配置错误“=”附近有语法错误(原理分析)

错误代码:11300001 数据集 [1_Workshift] 配置错误“=”附近有语法错误。

码农研究僧的博客 915

docker安装并配置nmp容器

一,docker简介和安装 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。他和vm的区别就是完全虚拟化,一个是操作系统层虚拟化。 docker由三部分组成 - 仓库(Repository) - 镜像(Image) - 容器(Container) 仓库就相当于存放镜像的地方。如果把镜像比作类,容器就是镜像的实例化。 安装 1.我的安装环境

sang521jia的博客 2919

RK3588平台MIPI DSI屏幕调试记录

本文是基于RK3588平台,MIPI屏调试总结。调试过程中遇到的问题:一开始很久没亮,测量了电源电压和波形都正常。后来换了一组板子和屏幕做对比。最后是因为屏幕的座子没焊接好,二是接MIPI屏幕的排线太长会影响数据传输。换了一根短的线之后屏幕亮起。vp2vp3。

bingdund的博客 1389

AndroidKiller之APK 编译失败,无法继续下一步签名【BUG解决】【App反向解析】

文章目录项目场景:问题描述原因分析:解决方案:BUG解决 项目场景: AndroidKiller: 在反向解析APP包时报错:APK 编译失败,无法继续下一步签名。 网上很多方法都是无效的哈,我追究原因发现,这个bug的出现大部分情况都是因为Apktool的问题。 此方法:百分之百解决此bug! 错误如下: 问题描述 APK 编译失败,无法继续下一步签名! 原因分析: Apktool版本不适配的问题,现在的技术更新换代太快,我们安装AndroidKiller的时候,有时候不是官方渠道的话,他的版本是非常

一键难忘的博客 2万+

nmp的php.ini,Just for fun——Docker做个NMP环境

原标题:Just for fun——Docker做个NMP环境Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。现在windows上也是可以用docker了。总之,Docker可以屏蔽宿主机操作系统差异,让你可以快速搭建系统环境。I...

weixin_35002851的博客 294

使用Qt和MX Component插件实现与菱PLC的通信

在本文中,我们介绍了如何使用Qt和MX Component插件实现与菱PLC的通信。我们首先安装和配置了MX Component插件,并在Qt项目中初始化和使用MX Component来连接、读取和写入PLC的数据。安装完成后,您需要在Qt项目中配置MX Component的路径,以便Qt可以找到所需的库文件。在本文中,我们将探讨如何使用Qt和MX Component插件来实现与菱PLC的通信。在主函数中,我们将初始化MX Component,并创建一个与PLC通信的示例。在上面的代码中,我们使用了。

TlScratch的博客 996

在生产环境使用Docker部署应用

导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程。作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产环境使用Docker部署应用程序的一个实践。 Docker是现在开发应用程序的不错选择;因为对于一个研发组来说,部署一个应用再也不用像以前那样繁琐的修改、设...

weixin_30750335的博客 187

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Docker部署NMP+Composer+(Swoole、Redis扩展)

Docker部署NMP+Composer+(Swoole、Redis扩展) 1、安装Mysql 因为我后续安装PHP需要连接到Mysql,所以这边我们先安装一下Mysql的容器 docker pull mysql:latest 这里我是拉取了最新版本,:latest代表最新版,如果你想下载5.7,那么命令应该如下 docker pull mysql:5.7 接着我们可以用docker imag...

W_SmallBlack的博客 564

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

docker-compose搭建nmp、redis、memcached、swoole、composer、node

docker-compose.yml version: "3.7" services: nginx: image: nginx volumes: - E:/wwwroot:/usr/share/nginx/html - ./nginx/conf/conf.d:/etc/nginx/conf.d - ./nginx/conf/nginx.co...

DRAGONLONG007的博客 1427

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Just for fun——Docker做个NMP环境

原文链接 Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 现在windows上也是可以用docker了。总之,Docker可以屏蔽宿主机操作系统差异,让你可以快速搭建系统环境。 Image和Container Docker的...

weixin_34279061的博客 620

记录一次 docker 环境部署安装 easysnmp 包

一、项目背景 最近在做一个扫描数据中心设备(交换机。路由器、防火墙。。。)端口的功能。 需要用到 snmp 组件,Python 下有很多实现 snmp 的包,常用的有 pysnmp 和 easysnmp。由于pysnmp 的语法太恶心了,所以果断选择 easysnmp,easysnmp 需要依赖 C 语言的 net-snmp 库,所以速度还是很快的。 二、解决过程 在开发环境下(Mac 环境)直接使用 pip 安装即可。 pip install easysnmp 由于整个项目是使用微服务进行开发的,部署是

极客点儿 1692

vue打包项目通过docker部署nginx服务

确认自己的打包路径,默认是dist,这里也可以修改。

小石潭记丶 778

windows环境安装docker和nodejs

1.Windows Docker 安装 1.1 Docker溯源   Docker的前身是名为dotCloud的小公司,主要提供的是基于 PaaS(Platform as a Service,平台及服务)平台为开发者或开发商提供技术服务,并提供的开发工具和技术框架。因为其为初创的公司,又生于IT行业,dotCloud受到了IBM,亚马逊,google等公司的挤压,发展举步维艰。于是,在2013...

qq_28915595的博客 1077

Docker部署WordPress LNMP(Nginx PHP MySQL)环境实践

Docker基于LXC实现了把软件封装到一个完整的文件系统,可以在docker容器中运行所需的一切代码,运行环境,系统工具和系统库。由于docker使用独立于主机的文件系统,可以确保软件在不同的主机环境中仍然保持运行环境不变。docker与主机共用一个操作系统内核,使用docker容器具有轻量级的特点,能占用更少的内存快速启动容器。 下面我们学习使用docker来部署目前非常流行的博客系统wo

x9llhpfx的专栏 664

【Docker】第一篇 Docker的初始化安装部署

一、Docker基础 Dacker倡导的理念:一个容器一个进程 Docker的版本了解: Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。 社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17...

YangLeiTao的博客 138

Linux:Docker的介绍(1)

但是有了容器就不一样了,有了容器你就相当于有了一个可以正常运行起来的虚拟机,只要你能运行容器,这些个环境的配置过程就省了。docker的英文本意思就叫做“搬运工”在程序员的世界里面集装箱里装的是任意类型的App,开发者通过Docker可以将App变成一种标准化的可移植的,自管理的组件,可以在任何主流系统中开发,调试和运行,说白了搬运工就是一种用了新颖的方式实现了轻量级虚拟机,类似于VM但是在原理和应用上和VM差距是非常大的,码头工人的专业叫法叫做(应用容器)运营人员只需配置他们的服务,即可运行所有的应用。

鲍海超 363

centos7 docker的安装和部署命令

卸载docker yum list installed | grep docker docker.x86_64 1.10.3-46.el7.centos.14 @extras docker-common.x86_64 1.10.3-46.el7.centos.14 @extras docker-selinux.x86_64 1.10.3-46.el7.centos.14 @extras ...

七月流星 1744

Docker

Docker简介

wangxiaosheng11的博客 159

使用docker搭建LNMP架构

检查。

qq_51545656的博客 754
上一篇: Alpine作为JDK的基础镜像(DockerFile)
下一篇: 不能错过的docker容器基础命令,快来一键学习吧!
彩虹龙
博客等级 码龄9年 2867粉丝 21原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彩虹龙

您的鼓励将是我创作最大的努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值