亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

docker安裝nginx容器的方法

 更新時(shí)間:2023年01月04日 09:52:45   作者:天蝎座的程序媛  
Nginx也是一款服務(wù)器,我們常用它做如:反向代理、負(fù)載均衡、動態(tài)與靜態(tài)資源的分離的工作,這篇文章主要介紹了docker安裝nginx,需要的朋友可以參考下

1、自定義網(wǎng)絡(luò)相關(guān)命令

1.創(chuàng)建自定義網(wǎng)絡(luò)
       docker network create --driver bridge --subnet 192.168.0.1/16 --gateway 192.168.0.1 mynet
       參數(shù)說明
       --driver bridge  設(shè)置網(wǎng)絡(luò)模式
       --subnet 192.168.0.1/16  設(shè)置子網(wǎng)
       --gateway 192.168.0.1 設(shè)置網(wǎng)關(guān)
       mynet  自定義網(wǎng)絡(luò)的名稱

2.刪除自定義網(wǎng)絡(luò)mynet(沒有容器使用此網(wǎng)絡(luò)才能刪除)
      docker network rm mynet

3.查看docker中已安裝的所有網(wǎng)絡(luò)
       docker network ls 

4.查看自定義網(wǎng)絡(luò)mynet中的配置信息 
       docker network inspect mynet

5. 啟動容器時(shí),指定網(wǎng)絡(luò)、IP
       docker run --name centos1 -itd --net mynet --ip 192.168.0.11 centos:latest
       docker run --name centos2 -itd --net mynet --ip 192.168.0.12 centos:latest

注1:有些下載的鏡像,執(zhí)行docker run -d 不加-it參數(shù)運(yùn)行后就直接exited(0),這是制作此鏡像的基礎(chǔ)鏡像的問題,添加-itd即可,
                例如:centos鏡像就要加-itd,nginx鏡像則不需要-it,-d即可 
注2:在有些鏡像啟動時(shí),還可以通過-P或-p參數(shù)綁定宿主機(jī)端口號,例如:nginx鏡像,因?yàn)槿萜鲀?nèi)部已放開此端口號
注3:停止并刪除所有容器
                docker stop $(docker ps -aq) && docker rm $(docker ps -aq)

6.  啟動容器后檢查網(wǎng)絡(luò)之間是否可以互通
         docker exec -it centos1 ping centos2

7. network幫助命令
        docker network --help

 8. 如何讓docker上2個不同網(wǎng)絡(luò)的容器互連(重要)
        #1.使用局域名bridge
        docker run --name centos1 -itd centos:latest
        docker network inspect bridge
        #2.使用局域網(wǎng)mynet
        docker run --name centos2 -itd --net mynet --ip 192.168.0.12 centos:latest
        docker network inspect mynet    
        #3.測試centos1和centos2的連接
        docker exec -it centos1 ping centos2
        #連接失敗,控制臺出現(xiàn)如下提示
        ping: centos2: Name or service not known

        #4.如何解決此問題呢?向網(wǎng)絡(luò)mynet中添加容器centos1
        docker network connect mynet centos1

        為什么成功了呢?原因:容器centos1具有兩個ip
        #查看網(wǎng)絡(luò)信息
        docker network inspect mynet
        #查看容器詳細(xì)信息
        docker inspect centos1

2、nginx是什么

Nginx也是一款服務(wù)器,我們常用它做如:反向代理、負(fù)載均衡、動態(tài)與靜態(tài)資源的分離的工作,

反向代理:反向代理(Reverse Proxy)方式是指以代理服務(wù)器來接受internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器, 并將從服務(wù)器上得到的結(jié)果返回給internet上請求連接的客戶端,此時(shí)代理服務(wù)器對外就表現(xiàn)為一個服務(wù)器。

負(fù)載均衡:目前大多數(shù)的網(wǎng)站都會采用負(fù)載均衡手段來針對目前用戶的指數(shù)級增長來減少對單點(diǎn)服務(wù)器的負(fù)載壓力,比如目前我們擁有3臺真實(shí)服務(wù)器,我們需要根據(jù)相應(yīng)策略決定什么樣的用戶請求分配到哪個真實(shí)服務(wù)器,比如按照輪詢的方式, 用戶請求挨個到達(dá)代理服務(wù)器,此時(shí)代理服務(wù)器按照第一個請求轉(zhuǎn)發(fā)至第一臺真實(shí)服務(wù)器,第二個請求轉(zhuǎn)發(fā)到第二個服務(wù)器上,依次類推, 這樣可以防止大量的用戶請求全部訪問到同一臺物理機(jī)上,單點(diǎn)物理機(jī)的性能始終有限的,當(dāng)然這可能對服務(wù)器數(shù)據(jù)訪問時(shí)候造成事務(wù)性的失效,在Web方面可能造成Session訪問的問題,這不在本文討論方面內(nèi)

Nginx+tomcat是目前主流的java web架構(gòu)

3、安裝nginx

1.搜索nginx鏡像
      docker search nginx   

2.拉取鏡像
      docker pull nginx 

3.在宿主機(jī)中創(chuàng)建掛載目錄
       mkdir -p /data/nginx/{conf,conf.d,html,log}

注1:因?yàn)樵趎ginx鏡像中沒有安裝vi或vim編輯器(安裝又太麻煩了),無法編輯nginx配置文件,所以直接通過數(shù)據(jù)卷掛載上去更加方便
注2:將nginx配置文件nginx.conf上傳到宿主機(jī)的掛載目錄“/data/nginx/conf”下
注3:將vue前端項(xiàng)目打包后上傳到宿主機(jī)的掛載目錄“/data/nginx/html”下并解壓
               unzip dist.zip
注4:nginx配置文件相關(guān)調(diào)試命令

4.根據(jù)nginx鏡像創(chuàng)建nginx容器(測試nginx的安裝與訪問,并沒有發(fā)布任何的java或vue項(xiàng)目,最后此容器要刪除的)

#簡單測試nginx鏡像
       A.使用docker內(nèi)置網(wǎng)絡(luò)bridge
      docker run \
       --name mynginx \
       -d -p 80:80 \
       nginx:latest

#登錄nginx容器
      docker exec -it mynginx  /bin/bash
       B.使用自定義網(wǎng)絡(luò)mynet ???外部瀏覽器連接不上
       docker run \
       --name mynginx \
       -d -p 80:80 \
       --net mynet --ip 192.168.0.13 \
       nginx:latest

注1:記得修改centos7的防火墻放開80端口
            # 開啟80端口
            firewall-cmd --zone=public --add-port=80/tcp --permanent

            #重啟防火墻(不重啟以上的設(shè)置是不會生效的):
            firewall-cmd --reload

            #查詢指定端口號是否開啟:
            firewall-cmd --query-port=80/tcp

小結(jié):  mynginx使用docker內(nèi)置網(wǎng)絡(luò)bridge,再mynginx添加至mynet中

5.查看本地的容器,可以看到nginx容器已經(jīng)創(chuàng)建成功了
      docker ps 

6.測試nginx是否安裝成功
打開瀏覽器輸入:http://192.168.183.133( http://宿主機(jī)ip:80),正常情況下會顯示nginx的歡迎頁面

4、docker實(shí)戰(zhàn)之通過nginx鏡像來部署SPA項(xiàng)目

nginx+tomcat實(shí)現(xiàn)反向代理及均衡
nginx+html靜態(tài)服務(wù)器

1.創(chuàng)建nginx容器
      docker run \
       --name mynginx \
       -d -p 80:80 \
       -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
       -v /data/nginx/log:/var/log/nginx \
       -v /data/nginx/html:/usr/share/nginx/html \
       nginx:latest

注1: 因?yàn)樵趎ginx鏡像中沒有安裝vi或vim編輯器(安裝太麻煩了),無法編輯nginx配置文件,所以所有數(shù)據(jù)和配置都是通過數(shù)據(jù)卷掛載
            第一個-v:掛載nginx的主配置文件,以方便在宿主機(jī)上直接修改容器的配置文件
            第二個-v:掛載容器內(nèi)nginx的日志,容器運(yùn)行起來之后,可以直接在宿主機(jī)的這個目錄中查看nginx日志
            第三個-v:掛載靜態(tài)頁面目錄
            注意命令之間的換行與空格

       注2:如果容器創(chuàng)建失敗,可通過如下命令,查看在docker容器啟動日志
            docker logs -f -t --tail 行數(shù) 容器名
            docker logs -f -t --tail 100 mynginx

       注3:如果要進(jìn)入容器內(nèi)部,這里是bash而非sh,要根據(jù)實(shí)際的基礎(chǔ)鏡像來
            docker exec -it mynginx /bin/bash

5、nginx.conf講解

1.所有配置必須以“;”結(jié)尾 

2.nginx發(fā)布java項(xiàng)目
    nginx+tomcat實(shí)現(xiàn)反向代理及均衡
    upstream  tomcats{
      #TODO:172.17.0.3是docker容器的IP 
      server    172.17.0.3:8080  weight=1;#服務(wù)器配置   weight是權(quán)重的意思,權(quán)重越大,分配的概率越大。    
      server    172.17.0.4:8080  weight=2;
    }

    location / {
      proxy_pass http://tomcats;
      proxy_redirect default;
    }    

3.nginx發(fā)布靜態(tài)vue項(xiàng)目

附錄一:ip地址后邊加個/8(16,24,32)是什么意思?
是子網(wǎng)掩碼的位數(shù),由于255相當(dāng)于二進(jìn)制的8位11111111,所以也縮寫成“/8”,表示網(wǎng)絡(luò)號占了8位

A類IP地址的默認(rèn)子網(wǎng)掩碼為255.0.0.0(/8)

B類的為255.255.0.0(/16);

C類的為255.255.255.0(/24)

/30就是255.255.255.252

/32就是255.255.255.255
例如:
xx.xx.xx.0/24 ——>表示一個網(wǎng)段,并且24告訴了當(dāng)前具體的子網(wǎng)掩碼

舉例說吧,192.168.0.0/24”就表示,這個網(wǎng)段的IP地址從192.168.0.1開始,到192.168.0.254結(jié)束
(192.168.0.0和192.168.0.255有特殊含義,不能用作IP地址);子網(wǎng)掩碼是255.255.255.0

附錄二: nginx.conf配置常用命令
vim /usr/local/nginx/conf/nginx.conf  # 編輯主配置文件

# 測試Nginx配置是否正確命令,先進(jìn)入主程序的安裝目錄
cd /usr/local/nginx/conf               
/usr/local/nginx/sbin/nginx -t        # 判斷Nginx配置是否正確命令
tail -100f /var/log/nginx/access.log  # 查看Nginx訪問日志,必須以nginx.conf配置文件的目錄一致

service nginx start                   # 啟動
service nginx stop                    # 停止
service nginx restart                 # 重新啟動
service nginx reload                  # 重新加載配置,平滑啟動
service nginx status                  # 查看nginx狀態(tài)

ps -ef | grep nginx                   # 查看Nginx安裝目錄,master process后面的就是nginx的目錄
cd /usr/sbin                          # 進(jìn)入nginx主程序的安裝目錄
/usr/sbin/nginx -V                    # -v 顯示 nginx 的版本,本示例安裝版本為:nginx version: nginx/1.14.2 (Ubuntu)
/usr/sbin/nginx -V                    # -V 顯示 nginx 的版本,編譯器版本和配置參數(shù)

附錄三:hbuilderX打包vue項(xiàng)目白屏問題
將項(xiàng)目目錄下的config文件夾里的index.js文件中,將build對象下的assetsPublicPath中的“/”,改為“./”后,再打包生成的 dist 文件

附錄四:springboot中如何解決跨域訪問
見:資料/CorsConfiguration.java

到此這篇關(guān)于docker安裝nginx的文章就介紹到這了,更多相關(guān)docker安裝nginx內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用docker compose安裝FastDfs文件服務(wù)器的實(shí)例詳解

    使用docker compose安裝FastDfs文件服務(wù)器的實(shí)例詳解

    這篇文章主要介紹了使用docker compose安裝FastDfs文件服務(wù)器的實(shí)例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • Docker刪除已存在的鏡像的實(shí)現(xiàn)

    Docker刪除已存在的鏡像的實(shí)現(xiàn)

    本文主要介紹了Docker刪除已存在的鏡像的實(shí)現(xiàn),刪除已存在的 Docker 鏡像,可以使用 docker rmi 命令,下面就來詳細(xì)的介紹一下使用步驟,感興趣的可以了解一下
    2023-08-08
  • docker容器調(diào)用yum報(bào)錯的解決辦法

    docker容器調(diào)用yum報(bào)錯的解決辦法

    在本篇文章里小編給大家分享的是關(guān)于docker容器調(diào)用yum報(bào)錯的解決辦法,有興趣的朋友們可以參考下。
    2020-03-03
  • docker容器中無法獲取宿主機(jī)hostname的解決方案

    docker容器中無法獲取宿主機(jī)hostname的解決方案

    這篇文章主要介紹了docker容器中無法獲取宿主機(jī)hostname的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Docker自定義網(wǎng)絡(luò)詳解

    Docker自定義網(wǎng)絡(luò)詳解

    本文主要跟大家講解了Docker中的自定義網(wǎng)絡(luò)的相關(guān)知識,包含網(wǎng)關(guān)、子網(wǎng)地址等等,非常的詳實(shí),有需要的小伙伴可以參考下
    2022-11-11
  • Docker離線部署geoserver的思路詳解

    Docker離線部署geoserver的思路詳解

    這篇文章主要介紹了Docker離線部署geoserver的思路詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • docker-compose教程之安裝使用和快速入門

    docker-compose教程之安裝使用和快速入門

    這篇文章主要介紹了docker-compose教程之安裝使用和快速入門,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Docker下mysql設(shè)置字符集的方法

    Docker下mysql設(shè)置字符集的方法

    這篇文章主要介紹了Docker下的mysql設(shè)置字符集的方法,需要的朋友可以參考下
    2018-03-03
  • Docker鏡像拉取失敗問題分析及解決方案

    Docker鏡像拉取失敗問題分析及解決方案

    在使用Docker時(shí),我們經(jīng)常需要從Docker鏡像倉庫中拉取鏡像,以便于在本地機(jī)器上運(yùn)行,下面這篇文章主要給大家介紹了關(guān)于Docker鏡像拉取失敗問題分析及解決方案,需要的朋友可以參考下
    2024-08-08
  • Docker綁定固定IP/跨主機(jī)容器互訪操作

    Docker綁定固定IP/跨主機(jī)容器互訪操作

    這篇文章主要介紹了Docker綁定固定IP/跨主機(jī)容器互訪操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11

最新評論