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.pswp.cn/news/711912.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711912.shtml
英文地址,請注明出處:http://en.pswp.cn/news/711912.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JS正則02——js正則表達式中常用的方法、常見修飾符的使用詳解以及各種方法使用情況示例

JS正則02——js正則表達式中常用的方法、常見修飾符的使用詳解以及各種方法使用情況示例 1. 前言1.1 簡介1.2 js正則特殊字符即使用示例 2. 創建正則表達式的方式2.1 兩種創建正則表達式的方式2.2 關于修飾符 3. 正則表達式中常用的方法3.1 test() 方法——正則表達式對象的方法…

Vue之監測數據的原理(對象)

大家有沒有想過,為什么vue可以監測到數據發生改變?其實底層借助了Object.defineProperty,底層有一個Observer的構造函數 讓我為大家簡單的介紹一下吧! 我用對象為大家演示一下 const vm new Vue({el: "#app",data: {ob…

Python列表操作函數

在Python中,列表(list)是一種可變的數據類型,它包含一系列有序的元素。Python提供了一系列內置的函數和方法來操作列表。以下是一些常用的Python列表操作函數和方法: 列表方法 append(x) 將元素x添加到列表的末尾。 …

文獻速遞:帕金森的疾病分享--多模態機器學習預測帕金森病

文獻速遞:帕金森的疾病分享–多模態機器學習預測帕金森病 Title 題目 Multi-modality machine learning predicting Parkinson’s disease 多模態機器學習預測帕金森病 01 文獻速遞介紹 對于漸進性神經退行性疾病,早期和準確的診斷是有效開發和使…

Linux按鍵輸入實驗-對按鍵驅動進行測試

一. 簡介 前面學習在設備樹文件中創建按鍵的設備節點,并實現對按鍵驅動代碼的編寫,文章地址如下:Linux按鍵輸入實驗-創建按鍵的設備節點-CSDN博客Linux按鍵輸入實驗-按鍵的字符設備驅動代碼框架-CSDN博客Linux按鍵輸入實驗-按鍵的GPIO初始化-CSDN博客 本文對所實現的按鍵驅…

【精品】集合list去重

示例一&#xff1a;對于簡單類型&#xff0c;比如String public static void main(String[] args) {List<String> list new ArrayList< >();list.add("aaa");list.add("bbb");list.add("bbb");list.add("ccc");list.add(…

網絡工程師必備的網絡端口大全(建議收藏)

端口是一種數字標識&#xff0c;用于在計算機網絡中進行通信&#xff0c;你完全可以把端口簡單的理解為是計算機和外界通訊交流的出口。但在網絡技術中&#xff0c;端口一般有兩種含義&#xff1a; &#xff08;1&#xff09;硬件設備中的端口 如交換機、路由器中用于鏈接其他…

用stream流將list轉為map

用stream流將list轉為map 1、將list轉為Map<Long, List> 按照spaceId分組&#xff0c;spaceId相同的為一組數據&#xff1a; List<BasEvaluationPriceResultDto> list new ArrayList(); Map<Long, List<BasEvaluationPriceResultDto>> priceResult…

“金三銀四”招聘季,大廠爭招鴻蒙人才

在金三銀四的招聘季中&#xff0c;各大知名互聯網企業紛紛加入了對鴻蒙人才的爭奪戰。近日&#xff0c;包括淘寶、京東、得物等在內的知名APP均宣布啟動鴻蒙星河版原生應用開發計劃。這一舉措不僅彰顯了鴻蒙生態系統的迅猛發展&#xff0c;還催生了人才市場的繁榮景象。據數據顯…

遙感影像處理(ENVI+ChatGPT+python+ GEE)處理高光譜及多光譜遙感數據

遙感技術主要通過衛星和飛機從遠處觀察和測量我們的環境&#xff0c;是理解和監測地球物理、化學和生物系統的基石。ChatGPT是由OpenAI開發的最先進的語言模型&#xff0c;在理解和生成人類語言方面表現出了非凡的能力。本文重點介紹ChatGPT在遙感中的應用&#xff0c;人工智能…

vue3學習 【4】ref和reactive的使用并于ts結合

使用ref聲明一個響應式對象并使用 <script lang"ts" setup> import { ref } from vue; const message ref("HelloWorld") message.value"被修改了啊~~" </script> <template>{{ message }} </template>ref() 接收參數…

Vue——攜帶參數跳轉路由

Vue學習之——跳轉路由 前情回顧 當我們進行點擊修改時&#xff0c;會進行跳轉到修改頁面&#xff0c;為了完成回顯數據&#xff08;根據對應id查找&#xff09;&#xff0c;我們需要攜帶對應選擇中的id跳轉到修改頁面&#xff0c;讓其進行查找回顯 學習useRoute和useRoute…

webstorm2023.3.4安裝與破解

WebStorm安裝步驟 打開JetBrains官方網站&#xff08;https://www.jetbrains.com/webstorm/&#xff09; 運行.exe 選擇安裝路徑 第一個意思是是否創建桌面快捷方式&#xff0c;可根據需要選擇&#xff1b;第二個.js .css .html勾選后之后js css html文件默認會用webstor…

AI Agent

目錄 一、什么是Agent 二、什么是MetaGPT【多智能體框架介紹】 三、MetaGPT的背景 一、什么是Agent 智能體 LLM觀察思考行動記憶 Agent&#xff08;智能體&#xff09; 一個設置了一些目標或任務&#xff0c;可以迭代運行的大型語言模型。這與大型語言模型&#xff08;LLM&am…

985機械研一轉碼,java還是c++?

985機械研一轉碼&#xff0c;java還是c&#xff1f; 在開始前我分享下我的經歷&#xff0c;我剛入行時遇到一個好公司和師父&#xff0c;給了我機會&#xff0c;一年時間從3k薪資漲到18k的&#xff0c; 我師父給了一些 電氣工程師學習方法和資料&#xff0c;讓我不斷提升自己&…

一鍵下載電路(for STM32 and mcuisp)

一鍵下載電路 1. STM32 一鍵下載電路2. 燒錄軟件&#xff1a;mcuisp和FlyMcu下載3. 遇到問題 1. STM32 一鍵下載電路 博文連接 2. 燒錄軟件&#xff1a;mcuisp和FlyMcu下載 mcuisp和FlyMcu下載 3. 遇到問題 按如上博文電路設計&#xff0c;上電發現程序沒有進入 main() 函…

【OpenGL的著色器03】內置變量(gl_Position等)

目錄 一、說明 二、著色器的變量 2.1 著色器變量 2.2 著色器內置變量 三、最常見內置變量使用范例 3.1 常見著色器變量 3.2 示例1&#xff1a; gl_PointSize 3.3 示例2&#xff1a;gl_Position 3.4 gl_FragColor 3.5 渲染點片元坐標gl_PointCoord 3.6 gl_PointCoo…

【PyTorch][chapter 20][李宏毅深度學習]【無監督學習][ GAN]【實戰】

前言 本篇主要是結合手寫數字例子,結合PyTorch 介紹一下Gan 實戰 第一輪訓練效果 第20輪訓練效果,已經可以生成數字了 68 輪 目錄&#xff1a; 谷歌云服務器&#xff08;Google Colab&#xff09; 整體訓練流程 Python 代碼 一 谷歌云服務器&#xff08;Google Colab&…

Linux學習-字符串數組和字符串

目錄 使用場景 字符型數組定義&#xff1a; 初始化 數組儲存 打印 字符型數組常見函數 常見操作 strcpy&#xff1a;字符串拷貝 strcat&#xff08;str1&#xff0c;str2&#xff09;字符串拼接 strcmp&#xff1a;字符串比較 注意&#xff1a; 二維字符型數…

Open CASCADE學習|曲線曲面連續性

1、曲線的連續性 曲線的連續性是三維建模、動畫設計等領域中非常重要的一個概念&#xff0c;它涉及到曲線在不同點之間的連接方式和光滑程度。下面將詳細介紹曲線的連續性&#xff0c;包括C連續性和G連續性。 1.1C連續性&#xff08;參數連續性&#xff09; C連續性是指曲線…