国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

Docker容器配置Nginx實例分享

2024-08-30 12:23:23
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Docker容器配置Nginx實例分享的相關資料,需要的朋友可以參考下

作為目前最火的應用,Docker 確實存在著其獨到之處,無論是程序猿還是運維都應該聽說過 Docker 的大名,Docker 已經走過了許多的坑,目前最新版本是 v1.11.0 版本,應該說是完全能承載開發使用和運維監控,這款工具能幫助我們高效的打包、發布和運行承載著應用程序的容器系統。而且收集日志、幫助 App 的快速開發都有很大作用。

容器和虛擬機,經常是被拿出來對比的兩款產品,實際上兩者有著根本的差別,虛擬機是完全模擬了一臺真實計算機,在上面運行的系統可能或者不可能知道自己運行在虛擬化環境下,并且虛擬機承載了將用戶指令轉換為特權指令的功能,所以虛擬機非常復雜,但是很完備,而 Docker 則完全不同。Docker 使用主機自身的 Linux 內核,然后從鏡像中產生磁盤目錄和軟件,所有的進程都運行在主機上,如果有興趣的話完全可以 ps aux 查詢一下,就能發現在 Docker 中運行的進程,只不過 Docker 對其做了如同 chroot 差不多概念的封裝。

Docker 真正用法

在 Docker 發展的早期,由于 busybox 等輕量化鏡像不完備,所以各大發行版的縮減瘦身鏡像得到了更多的使用,特別是由于 Docker 本身是在 Ubuntu 環境下開發的,所以 Ubuntu 和 Debian 在很多鏡像中作為基鏡像,以此作為基礎產生目標鏡像。但是隨著在實踐中的使用,其弊端也暴露出來了,就是太過于重量化,比如 systemd 的日志功能和 Docker 本身的日志功能被重復使用,鏡像很難縮小到 300M 以內。而且 Docker 的推薦使用方式就是單進程模型,而并非是多個進程如同一個完備的操作系統一般。所以就產生了 alpine 等輕量級基鏡像,alpine 是什么則可以自行百度,這個鏡像是 Docker 官方推薦的鏡像,未來官方鏡像將會遷移到 alpine 作為基礎的鏡像上,所以,我們應當早日熟悉此鏡像。

構建 Dockerfile

本文講述的是 Docker 容器的 Nginx 實踐,不過官方實際上已經有了關于 Nginx 的 alpine 鏡像。而在實際使用過程中,筆者更多的是使用 Tengine,所以根據官方 Dockerfile 的參考,筆者自行編寫了 Tengine 鏡像的 Dockerfile,希望能拋磚引玉,各位能夠批評指正。

FROM alpine:3.3MAINTAINER ChasonTang <chasontang@gmail.com>ENV TENGINE_VERSION 2.1.2ENV 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 /    --user=nginx /    --group=nginx /    --with-http_ssl_module /    --with-http_realip_module /    --with-http_addition_module /    --with-http_sub_module /    --with-http_dav_module /    --with-http_flv_module /    --with-http_mp4_module /    --with-http_gunzip_module /    --with-http_gzip_static_module /    --with-http_random_index_module /    --with-http_secure_link_module /    --with-http_auth_request_module /    --with-mail /    --with-mail_ssl_module /    --with-file-aio /    --with-http_spdy_module /    --with-ipv6 /    --with-jemalloc /    "ADD ngx_user.patch /ADD repositories /etc/apk/repositoriesRUN /  addgroup -S nginx /  && adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx /  && apk add --no-cache --virtual .build-deps /    gcc /    libc-dev /    make /    openssl-dev /    pcre-dev /    zlib-dev /    linux-headers /    curl /    jemalloc-dev /  && curl "http://tengine.taobao.org/download/tengine-$TENGINE_VERSION.tar.gz" -o tengine.tar.gz /  && mkdir -p /usr/src /  && tar -zxC /usr/src -f tengine.tar.gz /  && rm tengine.tar.gz /  && cd /usr/src/tengine-$TENGINE_VERSION/src/os/unix/ /  && mv /ngx_user.patch ./ngx_user.patch /  && patch ngx_user.c ngx_user.patch /  && rm ngx_user.patch /  && cd ../../../ /#  && cd /usr/src/tengine-$TENGINE_VERSION /  && ./configure $CONFIG --with-debug /  && make /  && mv objs/nginx objs/nginx-debug /  && ./configure $CONFIG /  && make /  && make install /  && rm -rf /etc/nginx/html/ /  && mkdir /etc/nginx/conf.d/ /  && mkdir -p /usr/share/nginx/html/ /  && install -m644 html/index.html /usr/share/nginx/html/ /  && install -m644 html/50x.html /usr/share/nginx/html/ /  && install -m755 objs/nginx-debug /usr/sbin/nginx-debug /  && strip /usr/sbin/nginx* /  && runDeps="$( /    scanelf --needed --nobanner /usr/sbin/nginx /      | awk '{ gsub(/,/, "/nso:", $2); print "so:" $2 }' /      | sort -u /      | xargs -r apk info --installed /      | sort -u /  )" /  && apk add --virtual .nginx-rundeps $runDeps /  && apk del .build-deps /  && rm -rf /usr/src/nginx-$NGINX_VERSION /  && apk add --no-cache gettext /  /  # forward request and error logs to docker log collector  && ln -sf /dev/stdout /var/log/nginx/access.log /  && ln -sf /dev/stderr /var/log/nginx/error.logCOPY nginx.conf /etc/nginx/nginx.confCOPY nginx.vh.default.conf /etc/nginx/conf.d/default.confEXPOSE 80 443CMD ["nginx", "-g", "daemon off;"]
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沭阳县| 伊吾县| 建湖县| 竹北市| 齐齐哈尔市| 吉木乃县| 准格尔旗| 鄱阳县| 伽师县| 云和县| 衡山县| 长宁县| 海宁市| 衡东县| 勃利县| 棋牌| 察哈| 新营市| 民县| 江北区| 定陶县| 抚松县| 米脂县| 富裕县| 东台市| 永修县| 昂仁县| 克什克腾旗| 高要市| 古蔺县| 金昌市| 福泉市| 儋州市| 东兴市| 三穗县| 宁蒗| 灵寿县| 颍上县| 玛曲县| 晋中市| 浙江省|