欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > nginx在docker容器中自動生成配置文件

nginx在docker容器中自動生成配置文件

熱門標簽:智能電話機器人線路 廣州電銷機器人系統圖 長沙開福怎么申請400電話 江蘇電銷外呼防封系統是什么 金融行業外呼線路 東莞人工智能電銷機器人供應商 高德地圖標注無營業執照 百度地圖標注要不要錢 賀州市地圖標注app

公司在搭建docker自動化部署時,需要制作一個nginx鏡像在其docker run時通過外部指定環境變量使得容器中的配置文件自動生成,不需要再到容器里改配置文件。

實現思路

最后運行的命令大概是這樣:

docker run -d -p 80:80 -e xxx=xx 鏡像名稱 鏡像中腳本路徑

這里的腳本會代替dockerfile中的CMD指令,所以我們要構建一個自動生成且啟動nginx的shell腳本。

#!/bin/bash

#從環境變量里面獲取lt開頭,為了與其他環境變量區別開,例如lt_analysis=172.17.0.1:8083
result=""
for a in $(env | grep ^lt)
do
 OLD_IFS="$IFS"
 IFS="_"
 arr=($a)
 b=${arr[1]}
 IFS="="
 arr=($b)
 IFS="$OLD_IFS"
 result="${result}
  location /${arr[0]}/ {
    proxy_pass  http://${arr[1]}/${arr[0]}/;
    proxy_connect_timeout 90;
    proxy_send_timeout 90;
    proxy_read_timeout 90;
  }"
done
#將nginx配置文件中nginx_conf中置換成變量result
sed -i "s|nginx_conf|$(echo ${result})|g" /etc/nginx/nginx.conf
cd /usr/sbin
./nginx

需要說明的一點是業務中并不需要將整個配置文件生成,只需要將其中location生成然后替換原配置文件中標記的位置,下面就是原配置文件標記的位置。

http {
  ...
  
  server {
    ...

    location / {
      root  html;
      index index.html index.htm;
    }

    nginx_conf

    #error_page 404       /404.html;
    ...

我以為將這個shell腳本和默認的配置文件放入nginx的dockerfile鏡像中,然后就成功了,但是...運行上述命令之后容器沒有起來,查看容器日志,出來的信息卻是***Syntax error: “(” unexpected***。我的shell腳本在centos上經過測試是可以運行的,那么為什么會報這個錯呢? 經過排查,原來是dockerfile使用基礎鏡像是官方nginx,官方的鏡像使用Ubuntu不再使用bash來而是dash執行shell腳本,真是個坑 。沒辦法我只好修改dockerfile,下面就是使用基礎鏡像centos。

FROM centos

ENV NGINX_VERSION 1.10.3
ENV OPENSSL_VERSION 1.0.2k
ENV PCRE_VERSION 8.40
ENV ZLIB_VERSION 1.2.11
ENV BUILD_ROOT /usr/local/xx/nginx

# 為了減小最終生成的鏡像占用的空間,這里沒有執行yum update命令,可能不是好的實踐
# 為了加快構建速度,這里使用了163的安裝源
#RUN yum -y update \

RUN yum -y install curl \

  && mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup \

  && curl http://mirrors.163.com/.help/CentOS7-Base-163.repo -o /etc/yum.repos.d/CentOS7-Base-163.repo \ 
  && yum -y install gcc gcc-c++ make perl zip unzip \

  && mkdir -p $BUILD_ROOT \

  && cd $BUILD_ROOT \

  && curl https://ftp.pcre.org/pub/pcre/pcre-$PCRE_VERSION.zip -o $BUILD_ROOT/pcre-$PCRE_VERSION.zip \

  && curl https://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz -o $BUILD_ROOT/openssl-$OPENSSL_VERSION.tar.gz \

  && curl http://www.zlib.net/zlib-$ZLIB_VERSION.tar.gz -o $BUILD_ROOT/zlib-$ZLIB_VERSION.tar.gz \

  && curl https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz -o $BUILD_ROOT/nginx-$NGINX_VERSION.tar.gz \

  && tar vxzf nginx-$NGINX_VERSION.tar.gz \

  && unzip pcre-$PCRE_VERSION.zip \

  && tar vxfz zlib-$ZLIB_VERSION.tar.gz \

  && tar vxfz openssl-$OPENSSL_VERSION.tar.gz \

  && cd nginx-$NGINX_VERSION \

  && BUILD_CONFIG="\

    --prefix=/etc/nginx \

    --sbin-path=/usr/sbin/nginx \

    --conf-path=/etc/nginx/nginx.conf \

    --error-log-path=/var/log/nginx/error.log \

    --http-log-path=/var/log/nginx/access.log \

    --pid-path=/var/run/nginx.pid \

    --lock-path=/var/run/nginx.lock \

    --http-client-body-temp-path=/var/cache/nginx/client_temp \

    --http-proxy-temp-path=/var/cache/nginx/proxy_temp \

    --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \

    --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \

    --http-scgi-temp-path=/var/cache/nginx/scgi_temp \

    --with-openssl=$BUILD_ROOT/openssl-$OPENSSL_VERSION \

    --with-pcre=$BUILD_ROOT/pcre-$PCRE_VERSION \

    --with-zlib=$BUILD_ROOT/zlib-$ZLIB_VERSION \

    --with-http_ssl_module \

    --with-http_v2_module \ 
    --with-threads \

    " \

  && mkdir -p /var/cache/nginx \

  && ./configure $BUILD_CONFIG \

  && make && make install \

  && rm -rf $BUILD_ROOT \

  && yum -y remove gcc gcc-c++ make perl zip unzip \

  && yum clean all

#替換nginx默認文件
COPY nginx.conf /etc/nginx/
#添加自動生成配置文件的shell腳本
COPY 腳本名稱 /root/

#暴露端口
EXPOSE 80 443

CMD ["nginx", "-g", "daemon off;"]

提醒:docker容器不支持后臺運行,當命令執行之后,容器也會自然退出,這里我們需要將nginx配置文件設置一下

#user nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid    logs/nginx.pid;
daemon off;  //這里添加,關閉后臺運行
events {
  worker_connections 1024;
}


http {

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:北京 廊坊 永州 張家界 洛陽 玉樹 滄州 松原

巨人網絡通訊聲明:本文標題《nginx在docker容器中自動生成配置文件》,本文關鍵詞  nginx,在,docker,容器,中,自動生成,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《nginx在docker容器中自動生成配置文件》相關的同類信息!
  • 本頁收集關于nginx在docker容器中自動生成配置文件的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    国产91在线播放九色| 亚洲天堂成人在线观看| 日韩制服丝袜先锋影音| 无码人妻aⅴ一区二区三区玉蒲团| 午夜国产福利一区二区| 国产欧美一区二区三区网站 | 欧美电视剧在线看免费| 日本午夜精品视频在线观看| 国产二级一片内射视频播放| 欧美高清视频不卡网| 亚洲成人动漫一区| 国产xxxxxxxxx| 欧美一区二区三区在线视频| 日韩黄色一级片| 无码人妻精品一区二区三区温州| 91精品国产91久久久久久一区二区 | 日韩高清不卡在线| 一本色道综合久久欧美日韩精品| 欧美电影免费观看高清完整版在| 久久丁香综合五月国产三级网站 | 亚洲国产精品久久人人爱蜜臀| 性生活一级大片| 欧美日韩综合一区| 亚洲成人免费在线观看| 中文在线永久免费观看| 欧美成人a∨高清免费观看| 久久精品国产秦先生| 国产极品视频在线观看| 国产精品久久国产精麻豆99网站 | 久久免费美女视频| 风间由美一区二区三区在线观看| 色综合久久久久| 亚洲一区国产视频| 加勒比一区二区| 久久久精品综合| 成人晚上爱看视频| 欧美三级在线播放| 日韩av一区二区在线影视| 少妇精品无码一区二区免费视频| 国产日韩精品久久久| 成人免费精品视频| 精品视频全国免费看| 欧美aaaaaa午夜精品| 中国1级黄色片| 亚洲免费观看高清完整版在线 | 欧美日韩国产免费| 蜜桃视频一区二区三区在线观看| 内射毛片内射国产夫妻| 亚洲欧美经典视频| 黄色a一级视频| 国产精品二三区| 亚洲少妇18p| 国产欧美一区二区三区网站 | 亚洲一区二区乱码| 久久精品人人做| 91视频在线观看免费| 日韩精品专区在线影院重磅| 成人午夜私人影院| 欧美一区二区三区四区久久| 国产麻豆精品theporn| 欧美在线短视频| 蜜桃在线一区二区三区| 色欧美日韩亚洲| 裸体在线国模精品偷拍| 色哟哟欧美精品| 蜜桃视频在线一区| 91国产福利在线| 久久精品国产澳门| a级黄色片免费看| 免费在线一区观看| 91久久免费观看| 久久激情综合网| 欧美熟乱第一页| 国产成人亚洲综合a∨婷婷图片| 欧美绝品在线观看成人午夜影视| 国产在线播放一区三区四| 欧美日韩一区三区| 国产激情精品久久久第一区二区| 3d成人h动漫网站入口| 高清免费成人av| 精品免费视频一区二区| 久久精品无码一区二区三区毛片| 国产午夜精品一区二区| 中文视频在线观看| 综合中文字幕亚洲| 一区二区三区在线播放视频| 日韩激情视频网站| 精品视频1区2区3区| 成人性生交大片免费看中文| 欧美成人一区二区三区在线观看| 91色婷婷久久久久合中文| 国产亚洲欧美日韩日本| 国产制服丝袜在线| 一区二区视频在线看| 日本黄色片免费观看| 久草在线在线精品观看| 91.xcao| 能看毛片的网站| 中文字幕一区免费在线观看| 亚洲国产日韩一区无码精品久久久| 亚洲国产日韩a在线播放性色| 国产日韩欧美在线观看视频| 黄页视频在线91| 日韩三级.com| 9.1在线观看免费| 亚洲影视资源网| 色噜噜夜夜夜综合网| 国产大陆精品国产| 久久蜜臀精品av| 精品欧美一区二区久久久| 日韩制服丝袜先锋影音| 欧美日本免费一区二区三区| av午夜精品一区二区三区| 日本一区二区动态图| 免费黄在线观看| 激情综合五月天| 精品成a人在线观看| www在线观看免费视频| 日韩—二三区免费观看av| 欧美日韩国产经典色站一区二区三区| av网站一区二区三区| 成人欧美一区二区三区在线播放| 亚洲精品一区二区三区在线播放| 国产老肥熟一区二区三区| 26uuu精品一区二区三区四区在线| 国产在线观看无码免费视频| 五月开心婷婷久久| 7777精品伊人久久久大香线蕉超级流畅| 91麻豆蜜桃一区二区三区| 亚洲人成在线观看一区二区| 中文字幕av久久爽av| av亚洲精华国产精华| 亚洲精品欧美二区三区中文字幕| 欧美亚洲图片小说| 亚洲 自拍 另类 欧美 丝袜| 亚洲在线中文字幕| 911国产精品| 亚洲午夜精品久久久久久久久| 26uuu成人网| 91影视在线播放| 亚洲激情欧美激情| 欧美猛男gaygay网站| 国产激情第一页| 免费一级欧美片在线观看| 精品久久99ma| 亚洲国产精品一区二区久久hs| 国产高清成人在线| 亚洲日本成人在线观看| 欧美日韩精品专区| 国精品无码人妻一区二区三区| 精品一区二区三区日韩| 中文字幕成人在线观看| 全网免费在线播放视频入口| 91视频一区二区| 午夜激情久久久| 欧美不卡123| 日韩免费av一区| 99在线精品一区二区三区| 亚洲国产视频a| 精品国产乱码久久久久久久久| 蜜桃视频最新网址| 91在线国产观看| 丝袜美腿亚洲综合| 国产午夜亚洲精品不卡| 色婷婷激情久久| 制服丝袜第一页在线观看| 国产在线精品一区在线观看麻豆| 中文字幕在线不卡一区| 91精品欧美久久久久久动漫| 欧美亚洲色综久久精品国产| 91污在线观看| 久久99国产精品免费| 亚洲欧洲国产日本综合| 欧美一三区三区四区免费在线看 | av网站免费在线播放| 国产激情视频一区二区在线观看| 又紧又大又爽精品一区二区| 精品国产免费人成电影在线观看四季| 四虎永久免费地址| 国产精品一区二区人妻喷水| 国产精一区二区三区| 夜夜精品视频一区二区| 久久中文娱乐网| 精品视频一区二区三区免费| 中字幕一区二区三区乱码| 久久久久久国产精品日本| 看国产成人h片视频| 亚洲欧美另类综合偷拍| 久久综合狠狠综合| 欧美日韩激情一区二区| 久久精品色妇熟妇丰满人妻| 美女网站视频在线观看| 国产99一区视频免费| 日韩电影一区二区三区四区| 国产精品精品国产色婷婷| 日韩一区二区免费视频| 一本久久精品一区二区| www在线观看免费视频| 中文字幕第10页| 国产美女一区二区|