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

2024-03-01 17:36

本文主要是介绍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;}}
}
整体文件包在头部

这篇关于alpine创建lnmp环境alpine安装nginx+php5.6+mysql的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/763258

相关文章

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

MySQL 事务的概念及ACID属性和使用详解

《MySQL事务的概念及ACID属性和使用详解》MySQL通过多线程实现存储工作,因此在并发访问场景中,事务确保了数据操作的一致性和可靠性,下面通过本文给大家介绍MySQL事务的概念及ACID属性和... 目录一、什么是事务二、事务的属性及使用2.1 事务的 ACID 属性2.2 为什么存在事务2.3 事务

Mysql中的用户管理实践

《Mysql中的用户管理实践》:本文主要介绍Mysql中的用户管理实践,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录13. 用户管理13.1 用户 13.1.1 用户信息 13.1.2 创建用户 13.1.3 删除用户 13.1.4 修改用户

MySQL查看表的最后一个ID的常见方法

《MySQL查看表的最后一个ID的常见方法》在使用MySQL数据库时,我们经常会遇到需要查看表中最后一个id值的场景,无论是为了调试、数据分析还是其他用途,了解如何快速获取最后一个id都是非常实用的技... 目录背景介绍方法一:使用MAX()函数示例代码解释适用场景方法二:按id降序排序并取第一条示例代码解

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解

如何清理MySQL中的binlog问题

《如何清理MySQL中的binlog问题》:本文主要介绍清理MySQL中的binlog问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目http://www.chinasem.cn录清理mysql中的binlog1.查看binlog过期时间2. 修改binlog过期

MySQL基本查询示例总结

《MySQL基本查询示例总结》:本文主要介绍MySQL基本查询示例总结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Create插入替换Retrieve(读取)select(确定列)where条件(确定行)null查询order by语句li

查看MySql主从同步的偏移量方式

《查看MySql主从同步的偏移量方式》:本文主要介绍查看MySql主从同步的偏移量方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 1.mysql的主从同步方案mysqlphp为了在实现读写分离,主库写,从库读mysql的同步方案主要是通过从库读取主库的binl

如何解决yum无法安装epel-release的问题

《如何解决yum无法安装epel-release的问题》:本文主要介绍如何解决yum无法安装epel-release的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录yum无法安装epel-release尝试了第一种方法第二种方法(我就是用这种方法解决的)总结yum

MySQL表空间结构详解表空间到段页操作

《MySQL表空间结构详解表空间到段页操作》在MySQL架构和存储引擎专题中介绍了使用不同存储引擎创建表时生成的表空间数据文件,在本章节主要介绍使用InnoDB存储引擎创建表时生成的表空间数据文件,对... 目录️‍一、什么是表空间结构1.1 表空间与表空间文件的关系是什么?️‍二、用户数据在表空间中是怎么