欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker容器中運(yùn)行nginx

 更新時(shí)間:2017年03月30日 08:48:18   投稿:hebedich  
本文介紹了從docker hub拉取官方nginx鏡像并自定義部分配置,綁定端口運(yùn)行的過程。希望小伙伴們能夠從中得到些知識(shí)

nginx簡(jiǎn)介

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

docker hub拉取

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

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

阿里云的docker鏡像倉(cāng)庫(kù)

主要步驟如下:

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

docker pull nginx

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

基礎(chǔ)的docker命令可以參看Docker初體驗(yàn)

Nginx docker image

在docker官方的頁(yè)面上,有部分樣例的說明??梢园l(fā)現(xiàn),網(wǎng)站的主目錄是 /usr/share/nginx/html ,這跟我搜到的一些文章的說明不同。

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

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

修改自定義配置

default.conf文件內(nèi)容如下:

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;
  #}
}

只需要完整的復(fù)制出來,并添加

autoindex on;
autoindex_exact_size on;
autoindex_localtime on;

運(yùn)行

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

啟動(dòng)容器有兩種方式,一種是基于鏡像新建一個(gè)容器并啟動(dòng),另外一個(gè)是將在終止?fàn)顟B(tài)(stopped)的容器重新啟動(dòng)。新建并啟動(dòng)所需要的命令主要為 docker run 。

-p

端口綁定 外部端口 : 容器內(nèi)端口

–name

給容器制定一個(gè)特定的名字,而不是自動(dòng)生成的一長(zhǎng)串hex。

-v

使用 -v 標(biāo)記也可以指定掛載一個(gè)本地主機(jī)的目錄到容器中去。 -v 本地文件夾:容器里的文件夾:讀寫權(quán)限

-d

更多的時(shí)候,需要讓 Docker在后臺(tái)運(yùn)行而不是直接把執(zhí)行命令的結(jié)果輸出在當(dāng)前宿主機(jī)下。此時(shí),可以通過添加 -d 參數(shù)來實(shí)現(xiàn)。

–restart=always

運(yùn)行容器時(shí)使用–restart參數(shù)可以指定一個(gè)restart策略,來指示在退出時(shí)容器應(yīng)該如何重啟或不應(yīng)該重啟。

no – 容器退出時(shí)不要自動(dòng)重啟。這個(gè)是默認(rèn)值。

on-failure[:max-retries] – 只在容器以非0狀態(tài)碼退出時(shí)重啟??蛇x的,可以退出docker daemon嘗試重啟容器的次數(shù)。

always – 不管退出狀態(tài)碼是什么始終重啟容器。當(dāng)指定always時(shí),docker daemon將無(wú)限次數(shù)地重啟容器。容器也會(huì)在daemon啟動(dòng)時(shí)嘗試重啟,不管容器當(dāng)時(shí)的狀態(tài)如何。

unless-stopped – 不管退出狀態(tài)碼是什么始終重啟容器,不過當(dāng)daemon啟動(dòng)時(shí),如果容器之前已經(jīng)為停止?fàn)顟B(tài),不要嘗試啟動(dòng)它。

nginx

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

tips

我之前運(yùn)行的時(shí)候,一般都采用交互式:

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

以前的錯(cuò)誤做法:

docker run -it nginx /bin/bash

相關(guān)文章

  • docker容器無(wú)法訪問宿主機(jī)端口的解決

    docker容器無(wú)法訪問宿主機(jī)端口的解決

    這篇文章主要介紹了docker容器無(wú)法訪問宿主機(jī)端口的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 使用Docker搭建Apache Kafka環(huán)境的詳細(xì)過程

    使用Docker搭建Apache Kafka環(huán)境的詳細(xì)過程

    這篇文章主要介紹了使用Docker搭建Apache Kafka環(huán)境,本文使用Docker技術(shù)創(chuàng)建單個(gè)Kafka節(jié)點(diǎn)和Kafka集群環(huán)境,并且使用可視化工具連接服務(wù)查看代理服務(wù)器的配置信息,需要的朋友可以參考下
    2022-10-10
  • Docker安裝Nacos服務(wù)的實(shí)現(xiàn)

    Docker安裝Nacos服務(wù)的實(shí)現(xiàn)

    本文主要介紹了Docker安裝Nacos服務(wù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Docker配置HTTP/HTTPS代理的方法

    Docker配置HTTP/HTTPS代理的方法

    本篇文章主要介紹了Docker配置HTTP/HTTPS代理的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • 使用Docker開發(fā)python Web 應(yīng)用

    使用Docker開發(fā)python Web 應(yīng)用

    本文給大家詳細(xì)講解了如何使用Docker開發(fā)python應(yīng)用,特別是WEB應(yīng)用的步驟,Docker本質(zhì)上提供了非常輕量化的VMs,我們可以使用其創(chuàng)建一個(gè)高標(biāo)準(zhǔn)隔離并能大大減少失配的開發(fā)和產(chǎn)品環(huán)境。
    2016-10-10
  • IntelliJ IDEA(2018版)安裝docker插件的詳細(xì)過程

    IntelliJ IDEA(2018版)安裝docker插件的詳細(xì)過程

    這篇文章主要介紹了IntelliJ IDEA安裝docker插件的詳細(xì)過程,開發(fā)工具使用的是IDEA2018.16版,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-09-09
  • Docker搭建LibreSpeed的實(shí)現(xiàn)步驟

    Docker搭建LibreSpeed的實(shí)現(xiàn)步驟

    LibreSpeed 是一個(gè)輕量級(jí)的網(wǎng)絡(luò)速度測(cè)試工具,本文主要介紹了Docker搭建LibreSpeed的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • 使用docker部署grafana+prometheus配置

    使用docker部署grafana+prometheus配置

    這篇文章主要介紹了docker部署grafana+prometheus配置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • Docker容器網(wǎng)絡(luò)互聯(lián)的項(xiàng)目實(shí)踐

    Docker容器網(wǎng)絡(luò)互聯(lián)的項(xiàng)目實(shí)踐

    docker中的容器都是連接到一個(gè)虛擬的網(wǎng)橋上的,這為獨(dú)立的容器提供了互聯(lián)的可能,本文主要介紹了Docker容器網(wǎng)絡(luò)互聯(lián)的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Docker 限制容器可用的CPU的方式

    Docker 限制容器可用的CPU的方式

    這篇文章主要介紹了Docker 限制容器可用的CPU的方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02

最新評(píng)論