麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > Nginx > 正文

Docker容器中運行nginx

2024-08-30 12:28:46
字體:
來源:轉載
供稿:網友

nginx簡介

Nginx是一款面向性能設計的HTTP服務器,相較于Apache、lighttpd具有占有內存少,穩定性高等優勢。與舊版本(<=2.2)的Apache不同,nginx不采用每客戶機一線程的設計模型,而是充分使用異步邏輯,削減了上下文調度開銷,所以并發服務能力更強。整體采用模塊化設計,有豐富的模塊庫和第三方模塊庫,配置靈活。 在Linux操作系統下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系統下效率相當高。同時Nginx在OpenBSD或FreeBSD操作系統上采用類似于epoll的高效事件模型kqueue。

docker hub拉取

docker hub 是docker官方的鏡像源,里面有做好的nginx docker image,當然也可以發布自己的鏡像到上面去。

如果官方鏡像速度很慢,可以考慮用

阿里云的docker鏡像倉庫

主要步驟如下:

登錄阿里云的docker鏡像倉庫
獲取專屬加速器地址
升級docker客戶端(建議在1.6.0以上)
修改daemon配置文件(阿里已經給出了所有的命令,基本上只要copy paste即可)
然后使用

docker pull nginx

就可以快速下載官方的nginx docker image了。

基礎的docker命令可以參看Docker初體驗

Nginx docker image

在docker官方的頁面上,有部分樣例的說明。可以發現,網站的主目錄是 /usr/share/nginx/html ,這跟我搜到的一些文章的說明不同。

我的需求是實現nginx搭建的文件瀏覽站。說白了就是下載站。實驗室(or校園內)共享文件。原來采用的是 Python救急HttpServer和Ftpserver ,盡管后來采用了 python多線程啟動httpserver ,但還是經常因為卡線程的問題,導致地址訪問失敗。所以那個方法作為臨時應急工具還是可以的,但是如果想要長期共享文件,必須采用有完善功能的http server。

nginx的配置文件都在 /etc/nginx/ 下面,可以看到熟悉的 conf.d 文件夾,明顯里面是用戶自定義配置文件的位置。

修改自定義配置

default.conf文件內容如下:

server {  listen    80;  server_name localhost;  #charset koi8-r;  #access_log /var/log/nginx/log/host.access.log main;  root  /usr/share/nginx/html;  location / {    root  /usr/share/nginx/html;    index index.html index.htm;    ## 下面三行是添加的。    autoindex on;    autoindex_exact_size on;    autoindex_localtime on;  }  #error_page 404       /404.html;  # redirect server error pages to the static page /50x.html  #  error_page  500 502 503 504 /50x.html;  location = /50x.html {    root  /usr/share/nginx/html;  }  # proxy the PHP scripts to Apache listening on 127.0.0.1:80  #  #location ~ /.php$ {  #  proxy_pass  http://127.0.0.1;  #}  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  #  #location ~ /.php$ {  #  root      html;  #  fastcgi_pass  127.0.0.1:9000;  #  fastcgi_index index.php;  #  fastcgi_param script_FILENAME /scripts$fastcgi_script_name;  #  include    fastcgi_params;  #}  # deny access to .htaccess files, if Apache's document root  # concurs with nginx's one  #  #location ~ //.ht {  #  deny all;  #}}

只需要完整的復制出來,并添加

autoindex on;autoindex_exact_size on;autoindex_localtime on;

運行

docker run -p 8001:80 --name mynginx-v /home/embedded_310/haoyueming/2017:/usr/share/nginx/html:ro -v /home/embedded_310/haoyueming/dockerfile/default.conf:/etc/nginx/conf.d/default.conf -d --restart=always nginx
run

啟動容器有兩種方式,一種是基于鏡像新建一個容器并啟動,另外一個是將在終止狀態(stopped)的容器重新啟動。新建并啟動所需要的命令主要為 docker run 。

-p

端口綁定 外部端口 : 容器內端口

–name

給容器制定一個特定的名字,而不是自動生成的一長串hex。

-v

使用 -v 標記也可以指定掛載一個本地主機的目錄到容器中去。 -v 本地文件夾:容器里的文件夾:讀寫權限

-d

更多的時候,需要讓 Docker在后臺運行而不是直接把執行命令的結果輸出在當前宿主機下。此時,可以通過添加 -d 參數來實現。

–restart=always

運行容器時使用–restart參數可以指定一個restart策略,來指示在退出時容器應該如何重啟或不應該重啟。

no – 容器退出時不要自動重啟。這個是默認值。

on-failure[:max-retries] – 只在容器以非0狀態碼退出時重啟。可選的,可以退出docker daemon嘗試重啟容器的次數。

always – 不管退出狀態碼是什么始終重啟容器。當指定always時,docker daemon將無限次數地重啟容器。容器也會在daemon啟動時嘗試重啟,不管容器當時的狀態如何。

unless-stopped – 不管退出狀態碼是什么始終重啟容器,不過當daemon啟動時,如果容器之前已經為停止狀態,不要嘗試啟動它。

nginx

鏡像的名稱,表示以什么鏡像作為底包新建一個容器。

tips

我之前運行的時候,一般都采用交互式:

-i 保證容器的stdin開啟 -t 為容器生成一個tty終端,在命令的最后加一個 /bin/bash 來保證可以交互。但是實際上,nginx并沒有運行,導致我以為容器的端口綁定不是持久化的。

以前的錯誤做法:

docker run -it nginx /bin/bash


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中文字幕观看 | 成人辣文| 精品在线观看一区二区 | 国产精品成人久久久久a级 欧美特黄一级高清免费的香蕉 | 午夜视频中文字幕 | 少妇一级淫片免费看 | 三人弄娇妻高潮3p视频 | 免费在线观看午夜视频 | 日韩视频一区 | 日韩 欧美 中文 | 亚洲情av | 久久久久久亚洲综合影院红桃 | 成人福利在线播放 | 国产精品自在线拍 | 久久精品操| 国产免费高清 | www国产成人免费观看视频 | 国产亚洲精品久久久久婷婷瑜伽 | 国产妇女乱码一区二区三区 | 欧美成人精品一级 | 黄色网址在线播放 | 免费观看黄视频 | 久久免费视频精品 | 999久久久国产999久久久 | 午夜久久视频 | 在线免费亚洲 | 国产一区二区三区在线视频 | 中文字幕在线观看亚洲 | 欧美一级黑人 | 精品欧美一区二区精品久久 | 免费久久久久 | 福利在线播放 | 久久久婷婷一区二区三区不卡 | 欧美成人se01短视频在线看 | 一边吃奶一边插下面 | 成人在线激情视频 | 成人免费乱码大片a毛片视频网站 | 精品国产一区二区三区四区阿崩 | 综合精品视频 | 国产精品刺激对白麻豆99 | 91精品国产一区二区三区动漫 |