摘要:但官方沒有發布相關東西,所以以結合安裝參考官方的為原則編寫。運行測試運行成功,大小,太大了感覺,提交到云端。啟動官方鏡像提交到云端,偶然想搜索下有沒有,竟然反問有官方鏡像,了個下來,還不錯。
前言 為什么要使用openresty?
官方說明:OpenResty? 是一個基于 Nginx 與 Lua 的高性能 Web 平臺,其內部集成了大量精良的 Lua 庫、第三方模塊以及大多數的依賴項。所以。
但openresty官方沒有發布docker相關東西,所以以:結合openresty安裝、參考docker-nginx官方的為原則編寫。
官方聲明依賴:perl 5.6.1+, libpcre, libssl
a.按nginx鏡像測試# perl查找 / # apk search perl5 perl-5.26.3-r0 #就一個可選 / # apk search libpcre libpcre2-32-10.32-r1 #貌似最新版本了,32位的? pcre-dev-8.42-r1 libpcre2-16-10.32-r1 pcre2-dev-10.32-r1 libpcre16-8.42-r1 libpcre32-8.42-r1 pcre2-10.32-r1 pcre-8.42-r1 libpcrecpp-8.42-r1 / # apk search libssl openssl-dev-1.1.1b-r1 libressl-dev-2.7.5-r0 #看起來最合適 nss-3.41-r0 libssl1.1-1.1.1b-r1 dovecot-2.3.6-r0 libressl2.7-libssl-2.7.5-r0 / # apk add perl-5.26.3-r0 libpcre2-32-10.32-r1 libressl-dev-2.7.5-r0 # 完全報錯,這個alpine依賴搞不了,官方https://pkgs.alpinelinux.org/包的搜索頁捉襟見肘,不得不放棄“小而美”。b.容器測試
參考官方選則debian,github上構建平臺鏡像的許多鏡像選擇stretch-slim精簡版的,看下大小最新的只有55.3M,比較滿意。
環境安裝測試:
[]:~/tmp/dk/openresty# docker run -itd --name df -v /root/tmp/dk/openresty:/tmp/host debian:stretch-slim []:~/tmp/dk/openresty# docker exec df -it /bin/bash
初始安裝清華源,切換百度源(云本機),apt-get update超慢,后回歸官源,后期卡死用網易源。
問題:
1、./configure: error: ngx_postgres addon was unable to detect version of the libpq library.
apt-get libpq-dev -y
2、./configure: error: the HTTP gzip module requires the zlib library.
apt-get install openssl libssl-dev libperl-dev -y apt-get install zlib1g-dev -y
到此OK。
c.第一步通過的代碼FROM debian:stretch-slim #MAINTAINER 維護者信息 MAINTAINER cffycls@foxmail.com ENV RESOURCE " deb http://mirrors.163.com/debian/ stretch main non-free contrib deb http://mirrors.163.com/debian/ stretch-updates main non-free contrib deb http://mirrors.163.com/debian/ stretch-backports main non-free contrib deb-src http://mirrors.163.com/debian/ stretch main non-free contrib deb-src http://mirrors.163.com/debian/ stretch-updates main non-free contrib deb-src http://mirrors.163.com/debian/ stretch-backports main non-free contrib deb http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib deb-src http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib " ENV VERSION 1.15.8.1 # !!!注意字符串變量、轉義自動解析 RUN echo $RESOURCE > /etc/apt/sources.list && cat /etc/apt/sources.list && apt-get update && apt-get install libpcre3-dev libssl-dev perl make build-essential curl -y COPY openresty-$VERSION.tar.gz /tmp/openresty.tar.gz RUN groupadd -r openresty && useradd -r -g openresty openresty # && curl && mkdir -p /usr/src && cd /usr/src && mv /tmp/openresty.tar.gz ./ && tar -zxf openresty.tar.gz --strip-components 1 && ./configure --prefix=/usrl/ocal/openresty --with-luajit --without-http_redis2_module --with-http_iconv_module --with-http_postgres_module && make -j "$(nproc)" && make install && rm -rf /usr/src # COPY nginx.conf /etc/nginx/nginx.conf # COPY nginx.vh.default.conf /etc/nginx/conf.d/default.conf # COPY vhost.conf /etc/nginx/conf.d/vhost.conf VOLUME ["/etc/nginx","/var/www/html"] EXPOSE 80 STOPSIGNAL SIGTERM # CMD ["nginx", "-g", "daemon off;"] #注意官方提示2.運行測試
準備配置數據(之前舊配置),注意 html和nginx文件夾 的參數共享:
[]:~/tmp/dk/openresty# tree ./ ./ ├── config │?? ├── conf.d │?? │?? └── nginx.vh.default.conf │?? │?? └── vhost.conf │?? └── nginx.conf └── htmla.測試啟動
測試容器df(手動搭建,系統無法ps),運行正常:
root@df08a646aaa0:/# nginx nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
但Dockerfile所建鏡像的容器啟動關閉無日志,更換openresty官方配置:
[]:~/tmp/dk/openresty# docker run -itd --name n1 -v /root/tmp/dk/openresty/config:/etc/nginx -v /root/tmp/dk/openresty/html:/var/www/html cffycls/openresty:0.9 /usrl/ocal/openresty/nginx/sbin/nginx #無法啟動,容器運行終止,無日志。應該是配置文件問題b.修改配置文件
使用官方原包未修改:
# 官包解壓路徑:./bundle/nginx-1.15.8/conf/nginx.conf []:~/tmp/dk/openresty# tree conf conf ├── fastcgi.conf ├── fastcgi_params ├── koi-utf ├── koi-win ├── mime.types ├── nginx.conf ├── scgi_params ├── uwsgi_params └── win-utf
去掉run加的命令,加上端口,運行Up了。
c.運行測試CMD ["/usrl/ocal/openresty/nginx/sbin/nginx", "-g", "daemon off;"] []:~/tmp/dk/openresty# docker run -itd --name n1 -p 80:80 -v /root/tmp/dk/openresty/conf:/usrl/ocal/openresty/nginx/conf -v /root/tmp/dk/openresty/html:/usrl/ocal/openresty/nginx/html openresty/openresty:1.0
運行成功,大小357M,太大了感覺,提交到云端。
3.啟動官方鏡像提交到云端,偶然想搜索下有沒有,docker-hub竟然(反問)有官方鏡像,pull了個下來,144M還不錯。真是重復造輪子了!!!
折騰半天,算是個教訓了,算是測得到了運行方法,結果也還行。
[]:~/tmp/dk/openresty# docker run -itd --name n1 -p 80:80 -v /root/tmp/dk/openresty/conf:/usrl/local/openresty/nginx/conf -v /root/tmp/dk/openresty/html:/usr/local/openresty/nginx/html openresty/openresty
訪問web端正常。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40514.html
摘要:官方于月日發布了其容器部署與管理平臺的最新版本,。架構總覽在版本的整體架構圖如下圖所示上,引擎向下深入演化成了基礎設施引擎,這一點上在時代也早有體現。基礎設施引擎初次安裝版本,會發現多了如下圖所示的明顯標識,默認的引擎需要安裝等服務。 Rancher Labs官方于12月1日發布了其容器部署與管理平臺Rancher的最新版本,Rancher v1.2。Rancher v1.2可以說是一...
摘要:官方于月日發布了其容器部署與管理平臺的最新版本,。架構總覽在版本的整體架構圖如下圖所示上,引擎向下深入演化成了基礎設施引擎,這一點上在時代也早有體現。基礎設施引擎初次安裝版本,會發現多了如下圖所示的明顯標識,默認的引擎需要安裝等服務。 Rancher Labs官方于12月1日發布了其容器部署與管理平臺Rancher的最新版本,Rancher v1.2。Rancher v1.2可以說是一...
摘要:說明防止注入,本地包含,部分溢出,測試,等攻擊防止備份之類文件泄漏防止之類壓力測試工具的攻擊屏蔽常見的掃描黑客工具,掃描器屏蔽異常的網絡請求屏蔽圖片附件類目錄執行權限防止上傳下載使用使用安裝下載解壓后,將整放到目錄中,并命名為配置安裝路徑假 1. Ngx lua waf 說明 防止sql注入,本地包含,部分溢出,fuzzing測試,xss,SSRF等web攻擊防止svn/備份之類文件泄...
摘要:郵件激活后,可以測試登錄這條命令會完成登錄,并將認證信息報錯起來供后面使用。所以先用命令退出容器,再運行命令命令中,指定了要提交的修改過的容器的目標鏡像倉庫鏡像名。提交的知識創建容器的鏡像與容器的當前狀態之間的差異部分,很輕量。 假期快要結束了,干點正事,接著Docker的學習。 構建鏡像 構建鏡像的兩種方法: 使用docker commit 命令 使用docker build...
摘要:安裝包準備準備好源碼包解壓執行以下命令解壓安裝包編譯安裝執行以下命令安裝編譯所需的依賴執行以下命令編譯安裝就成功安裝到了 安裝包準備 準備好openresty源碼包: /opt/ngx_openresty-1.9.3.2.tar.gz 解壓 執行以下命令解壓安裝包: cd /opt tar zxvf ngx_openresty-1.9.3.2.tar.gz 編譯安裝 執行以下命令安...
閱讀 732·2021-11-23 09:51
閱讀 2429·2021-10-11 11:10
閱讀 1298·2021-09-23 11:21
閱讀 1089·2021-09-10 10:50
閱讀 881·2019-08-30 15:54
閱讀 3325·2019-08-30 15:53
閱讀 3286·2019-08-30 15:53
閱讀 3185·2019-08-29 17:23