alpine创建lnmp环境alpine安装nginx+php5.6+mysql

前言
制作lnmp环境,你可以在alpine基础镜像中安装相关的服务,也可以直接使用Dockerfile创建自己需要的环境镜像。
注意:提前确认自己的alpine版本,本次创建基于alpine3.6进行创建,官方在一些版本中删除了php5
在这里插入图片描述
1、拉取alpine3.6镜像

docker pull alpine:3.6

在这里插入图片描述
2、创建目录用于存放准备使用的文件

root@ubuntu20043:~# mkdir amnp5

我这里将文件在本地编辑好直接上传上去了,也可以命令行创建所需文件,
在这里插入图片描述
3、创建镜像

docker build --no-cache . -t mnp5

docker build --no-cache=true (不使用缓存机制)

在这里插入图片描述

4.运行容器

docker run --name mnp5 -p 8888:80 -v /lamptest/test:/www -d mnp5

命令行内容,运行容器命名为mnp5, -p将宿主机8888端口映射到容器80端口,-v 将宿主机/lamptest/test目录挂载到容器/www目录,该目前是容器中nginx运行目录,可在配置文件中修改
-d 后台运行
在这里插入图片描述
5、相关配置文件内容
Dockerfile文件

FROM alpine:3.6
COPY files /tmp
RUN apk add --no-cache bash curl nginx openrc mysql mysql-client \php5-ctype php5-curl php5-dom php5-fpm php5-iconv php5-gd \php5-json php5-mysqli php5-openssl php5-pdo php5-pdo_sqlite \php5-sqlite3 php5-xml php5-xmlreader php5-zlib php5-phar php5-posix &&\# NGINXadduser -D -g 'www' www &&\mkdir /www &&\chown -R www:www /var/lib/nginx &&\chown -R www:www /www &&\mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig &&\mkdir /run/nginx/ &&\mv /tmp/nginx.conf /etc/nginx/nginx.conf &&\mv /tmp/index.html /www/index.html &&\# PHPmv /tmp/php.ini /etc/php5/php.ini &&\mv /tmp/php-fpm.conf /etc/php5/php-fpm.conf &&\mv /tmp/info.php /www &&\mv /tmp/mysql.php /www &&\# MYSQLmkdir -p /run/mysqld &&\chown -R mysql:mysql /run/mysqld &&\chown -R mysql:mysql /var/lib/mysql &&\mysql_install_db --user=mysql --ldata=/var/lib/mysql &&\# OPENRCsed -i 's/#rc_sys=""/rc_sys="lxc"/g' /etc/rc.conf &&\echo 'rc_provide="loopback net"' >> /etc/rc.conf &&\sed -i 's/^#\(rc_logger="YES"\)$/\1/' /etc/rc.conf &&\sed -i '/tty/d' /etc/inittab &&\sed -i 's/hostname $opts/# hostname $opts/g' /etc/init.d/hostname &&\sed -i 's/mount -t tmpfs/# mount -t tmpfs/g' /lib/rc/sh/init.sh &&\sed -i 's/cgroup_add_service /# cgroup_add_service /g' /lib/rc/sh/openrc-run.sh &&\echo 'rc_provide="loopback net"' >> /etc/rc.conf &&\/sbin/openrc &&\touch /run/openrc/softlevel &&\rc-update add nginx default &&\rc-update add php-fpm default &&\rc-update add mariadb default &&\# BASHtouch /root/.bashrc &&\echo "export PS1='\h:\w\\\$ '" >> /root/.bashrc &&\echo "alias r='fc -e -'" >> /root/.bashrc &&\echo "set -o vi" >> /root/.bashrc &&\echo "cat /etc/motd" >> /root/.bashrc &&\mv /tmp/motd /etc/motd &&\# SET MYSQL ROOT PASSWORDservice mariadb start &&\mysqladmin -u root password "root" &&\# CLEANUPrm -rf /var/cache/apk/* &&\rm -rf /tmp/*WORKDIR /rootENTRYPOINT ["/sbin/init"]

nginx.conf文件

# /etc/nginx/nginx.conf
user www;
worker_processes auto;pcre_jit on;
error_log /var/log/nginx/error.log warn;
include /etc/nginx/modules/*.conf;events {worker_connections 1024;
}http {include /etc/nginx/mime.types;default_type application/octet-stream;server_tokens off;client_max_body_size 1m;keepalive_timeout 65;sendfile on;tcp_nodelay on;ssl_prefer_server_ciphers on;ssl_session_cache shared:SSL:2m;gzip_vary on;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;server {listen                  80;root                    /www;index                   index.html index.htm index.php;server_name             localhost;client_max_body_size    32m;error_page              500 502 503 504  /50x.html;location = /50x.html {root              /var/lib/nginx/html;}location ~ \.php$ {fastcgi_pass      127.0.0.1:9000;fastcgi_index     index.php;include           fastcgi.conf;}}
}
整体文件包在头部

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/269770.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML实体字符列表,知识点详解

css盒模型 1,css盒模型基本概念? 2,标准模型和IE模型的区别:计算高度和宽度的不同,怎么不同,高度宽度是怎么计算的? 3,css如何设置这两种模型? 4,js如何设置…

EPSON RA8000CE (RTC模块)压电侠

RA8000CE是一个集成了32.768 kHz数字温度补偿晶体振荡器(DTCXO)的RTC模块。它包括各种功能,如具有闰年校正的秒到年时钟/日历,时间警报,唤醒计时器,时间更新中断,时钟输出和时间戳功能,可以在外部或内部事件…

selenium爬取房价收入比可视化

数据来源:聚合数据 from selenium import webdriver from bs4 import BeautifulSoup import csv from selenium import webdriver from fake_useragent import UserAgent import random import subprocess from selenium import webdriver from selenium.webdrive…

动态规划(算法竞赛、蓝桥杯)--状态压缩DP蒙德里安的梦想

1、B站视频链接&#xff1a;E31 状态压缩DP 蒙德里安的梦想_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; const int N12,M1<<N; bool st[N];//st[i]存储合并列的状态i是否合法 long long f[N][M];//f[i][j]表示摆放第i列&#xff0c;状态为…

蓝桥杯前端Web赛道-新鲜的蔬菜

蓝桥杯前端Web赛道-新鲜的蔬菜 题目链接&#xff1a;1.新鲜的蔬菜 - 蓝桥云课 (lanqiao.cn) 题目要求如下&#xff1a; 其实很容易联想到使用flex布局&#xff0c;这是flex布局一种非常经典的骰子布局&#xff0c;推荐Flex 布局教程&#xff1a;实例篇 - 阮一峰的网络日志 (r…

毫秒生成的时间戳如何转化成东八区具体时间

假设现在有一个时间是1709101071419L 后端代码实现 Java代码&#xff08;东八区时间&#xff09; 在Java代码中&#xff0c;我们将时区从UTC调整为东八区&#xff08;UTC8&#xff09;&#xff1a; import java.time.Instant; import java.time.ZoneId; import java.time.Z…

最简单 导航栏 html css

dhl.html <!DOCTYPE html> <html><head><meta charset"utf-8"><title>导航栏</title><link type"text/css" rel"stylesheet" href"css/dhl.css"></head><div class"dhl&quo…

学习c语言:动态内存管理

一、为什么要有动态内存分配 我们已经掌握的内存开辟⽅式有&#xff1a; int val 20; //在栈空间上开辟四个字节 char arr[10] {0}; //在栈空间上开辟10个字节的连续空间 但是上述的开辟空间的⽅式有两个特点&#xff1a; • 空间开辟⼤⼩是固定的。 • 数组在申明的时候&…

CSS的行内样式与内联样式,面试必备

正文 1,原链接 1)创建对象有几种方法&#xff1f; 2)instanceof的原理&#xff1f; 2,类 1)类的声明&#xff1f; 2)生成实例&#xff1f;/ 声明一个类&#xff0c;怎么生成类的实例&#xff1f; 3&#xff0c;继承 1)call、apply的共同点与区别? 2)用javascript实现对象…

1.2_1 分层结构、协议、接口和服务

1.2_1 分层结构、协议、接口和服务 &#xff08;一&#xff09;为什么要分层&#xff1f; 主机A如果想要向主机B发送文件&#xff0c;则一定要经过中间的一些介质、链路。 发送文件前要完成的工作&#xff1a; 1.发起通信的计算机必须将数据通信的通路进行激活。 所谓的激活&a…

uniapp iOS 真机调试

一、下载爱思助手 二、打开爱思助手&#xff0c;把你的 苹果手机 用原装数据线连接至电脑&#xff1a; 找到 工具箱 > 搜索IPA > 打开IAP签名 三、添加 IPA 文件 mac&#xff1a;finder 》应用程序 》右键 HbuilderX 》显示包内容 》HbuilderX / plugins/ lau…

【Redis】Redis持久化模式AOF

目录 引言 AOF持久化模式​编辑​编辑 AOF与RDB的混合持久化(4.x后的新特性) AOF的优缺点 修复破损aof文件 到底用RDB还是AOF 引言 AOF就相当于上面的日志形式。是追加式备份。所有发生的写操作&#xff0c;新增啊&#xff0c;修改啊&#xff0c;删除啊&#xff0c;这些命…

我们距离AGI还有多远?

关于HBM那份纪要的其他反馈 上篇文章发了一篇HBM纪要小部分内容&#xff08;星球更新了另一部分&#xff09;&#xff0c;收到很多业内大佬们的反馈&#xff0c;包括颗粒计算、封装订单划分等等&#xff0c;以及是不是某通某电的一个专家。其中倒是出现一个非共识的说法&#…

植树节活动如何联系媒体投稿宣传?

植树节活动联系媒体投稿宣传的步骤如下: 明确宣传目标与内容: 确定植树节活动的核心宣传信息,如活动目的、意义、时间、地点、参与方式等。 准备相关的图片、视频或宣传册等素材,以便媒体能够更好地理解和传播活动信息。 选择适合的媒体渠道: 根据目标受众和宣传目的,选择适…

什么是jwt

jwt是JSON Web Token&#xff0c;由3部分构成&#xff1a; 头部Header&#xff1a;头部包含了两部分&#xff0c;token 类型和采用的加密算法&#xff08;可为none&#xff0c;后端应限制加密算法&#xff0c;不以这里为准&#xff09;。 载荷Payload&#xff1a;这部分才是重要…

UD效果广告

1.定义 全称Unidesk&#xff0c;是由阿里旗下大数据运营平台“阿里妈妈”推出的数字营销引流平台。UD投放将其他媒体的流量通过相关的广告创意导入到天猫店铺。 2.UD投放优化技巧 &#xff08;1&#xff09;不起量排查&#xff1a; 可以从账户问题、计划数量不足、计划设置…

一台服务器,最大支持的TCP连接数是多少?

一个服务端进程最大能支持多少条 TCP 连接&#xff1f; 一台服务器最大能支持多少条 TCP 连接&#xff1f; 一、原理 TCP 四元组的信息&#xff1a;源IP、源端口、目标IP、目标端口。 一个服务端进程最大能支持的 TCP 连接个数的计算公式&#xff1a;最大tcp连接数客户端的IP…

Jmeter函数助手函数--计数器详解

函数 作用 ${__counter(,)} 计数器&#xff0c;每次加1 ${__dateTimeConvert(,,,)} 时间格式转换 ${__intSum(,,)} 整数相加 ${__P(,)} 获取属性 ${__setProperty(,,)} 设置属性 ${__Random(,,)} 随机数 ${__threadNum} 线程编号 ${__time(,)} 获取当前时间戳…

【博图TIA-Api】通过Excel自动新建文件夹和导入FB块

【博图TIA-Api】通过Excel自动新建文件夹和导入FB块 说明思路准备获取Excel表格内文件名和FB块名等信息新建文件夹部分筛分获取的文件夹数据&#xff0c;去掉重复内容创建文件夹 导入FB块导出FB块的xml文件查找需要放置的文件夹导入块 说明 续上一篇文章&#xff0c;这次是根据…

广东有哪些媒体资源?如何邀请媒体报道

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 广东拥有丰富的媒体资源&#xff0c;包括电视台、广播电台、报纸、网络媒体等。以下是一些广东地区的媒体资源&#xff1a; 广东有哪些媒体资源&#xff1f;如何邀请媒体报道 电视台&…