最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker搭建nginx的實(shí)現(xiàn)步驟

 更新時(shí)間:2024年03月15日 15:16:00   作者:小波波啊  
本文主要介紹了docker搭建nginx的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、安裝Docker

1、安裝:

yum install docker 

2、啟動(dòng)/停止/重啟docker服務(wù)

systemctl docker start 
systemctl docker stop 
systemctl docker restart
#開機(jī)自啟動(dòng) 
systemctl enable docker

#設(shè)置容器自啟動(dòng)
1.創(chuàng)建容器時(shí)設(shè)置
docker run -d --restart=always --name 設(shè)置容器名 使用的鏡像
(上面命令  --name后面兩個(gè)參數(shù)根據(jù)實(shí)際情況自行修改)
 
# Docker 容器的重啟策略如下:
 --restart具體參數(shù)值詳細(xì)信息:
       no        // 默認(rèn)策略,容器退出時(shí)不重啟容器;
       on-failure    // 在容器非正常退出時(shí)(退出狀態(tài)非0)才重新啟動(dòng)容器;
       on-failure:3    // 在容器非正常退出時(shí)重啟容器,最多重啟3次;
       always      // 無(wú)論退出狀態(tài)是如何,都重啟容器;
       unless-stopped  // 在容器退出時(shí)總是重啟容器,但是不考慮在 Docker 守護(hù)進(jìn)程啟動(dòng)時(shí)就已經(jīng)停止了的容器。

2.修改已有容器,使用update
#如果創(chuàng)建時(shí)未指定 --restart=always,可通過(guò)update 命令設(shè)置
docker update --restart=always 容器ID(或者容器名)
(容器ID或者容器名根據(jù)實(shí)際情況修改)

3、查看docker版本信息

docker version

4、查看所有docker鏡像

docker images

二、安裝Nginx

1、拉取Nginx鏡像文件

docker pull [鏡像名]:[版本號(hào)]  //版本號(hào)可省略,省略會(huì)下載最新版本
例如:
docker pull nginx //下載最新的Nginx鏡像

2、查看下載好的鏡像文件  

docker images

3、創(chuàng)建并運(yùn)行Nginx容器

docker run -d --name nginx01 -p 8050:80 nginx
命令詳解:
# docker run 啟動(dòng)一個(gè)鏡像
# -d 表示后臺(tái)允許
# --name nginx01  表示為當(dāng)前容器起一個(gè)別名
# -p 8050:80 表示將本機(jī)的8050端口映射到nginx鏡像的80端口
4、查看正在運(yùn)行的容器
docker ps

5、查看Nginx是否部署成功

curl localhost:8050

1、進(jìn)入Nginx容器當(dāng)中

docker exec -it nginx /bin/bash
命令詳解:
# docker exec 在運(yùn)行的容器中執(zhí)行命令
# -i 以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用;例如-it
# -t 為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用;例如-it
# nginx 容器名
# /bin/bash 其實(shí)就是表示載入容器后運(yùn)行bash(命令語(yǔ)言解釋程序), 因?yàn)閐ocker中必須要保持一個(gè)進(jìn)程(運(yùn)行的程序)的運(yùn)行,要不然整個(gè)容器就會(huì)退出,所以說(shuō),bash就擔(dān)任起了docker中運(yùn)行的那個(gè)進(jìn)程的角色!
#而/bin/bash則是bash在linux下的位置

2、在容器中查詢出nginx的相關(guān)配置文件存放位置

whereis nginx

3、退出容器,回到本地linux系統(tǒng)

exit

4、停止并移除Nginx容器

docker stop ff6fc #停止容器,容器id可不用寫全,只要寫到能識(shí)別到唯一一條就可以
docker rm ff6fc #移除容器
# bedfd2a72585表示容器的ID,即:CONTAINER ID

5、本地創(chuàng)建管理目錄

mkdir -p /usr/local/nginx
mkdir -p /usr/local/nginx/html 
mkdir -p /usr/local/nginx/conf
mkdir -p /usr/local/nginx/logs

6、將容器中的相應(yīng)文件copy到剛創(chuàng)建的管理目錄中

docker cp ff6fc:/etc/nginx/nginx.conf /usr/local/nginx/
docker cp ff6fc:/etc/nginx/conf.d /usr/local/nginx/conf/
docker cp ff6fc:/usr/share/nginx/html/ /usr/local/nginx/html/
docker cp ff6fc:/var/log/nginx/ /usr/local/nginx/logs/
注:docker cp ff6fc中的 "ff6fc" 為容器ID(docker ps可查看),也可換成容器名,例如上面容器名是nginx,可寫成 docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/  ,但是要區(qū)分唯一性

7、再次啟動(dòng)容器并作目錄掛載

docker run --name nginx -p 8050:80 -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/www/:/usr/share/nginx/html/ -v /usr/local/nginx/logs/:/var/log/nginx/ -v /usr/local/nginx/conf/:/etc/nginx/conf.d --privileged=true -d nginx
docker run --name nginx -p 8050:80 -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/www/:/usr/share/nginx/html/ -v /usr/local/nginx/logs/:/var/log/nginx/ -v /usr/local/nginx/conf/:/etc/nginx/conf.d --privileged=true -d nginx
這里掛載的路徑和端口要明白,不然配置conf文件會(huì)亂
就是
端口:宿主機(jī)8050端口映射docker里nginx容器的80端口,所以我們?cè)L問(wèn)宿主機(jī)ip+8050端口,就會(huì)映射到docker里nginx容器里的80端口,所以nginx配置文件listen是監(jiān)聽80端口,這個(gè)千萬(wàn)不要搞錯(cuò)了
頁(yè)面:打包的頁(yè)面文件夾是build,宿主機(jī)頁(yè)面路徑/usr/local/nginx/www/,映射的是docker里nginx容器的/usr/share/nginx/html/路徑,所以nginx配置文件
里的location的/usr/share/nginx/html這個(gè)路徑不用調(diào)整,只需在后面加上部署的前端頁(yè)面路徑,下面就是加上了build,然后前端打包的頁(yè)面build文件夾放在宿主機(jī)的/usr/local/nginx/www/就可以了
location / {
        root   /usr/share/nginx/html/build;
        try_files $uri $uri/ /index.html;
        index  index.html index.htm;
    }

所以流程是這樣,我們輸入網(wǎng)址宿主機(jī)+8050端口會(huì)映射到nginx配置文件80端口,然后nginx80端口是監(jiān)聽的,于是就會(huì)走到“l(fā)ocaltion / ”這個(gè)位置,然后會(huì)定位到/usr/share/nginx/html/build這個(gè)路徑,又因?yàn)?usr/share/nginx/html/相當(dāng)于宿主機(jī)/usr/local/nginx/www/,所以最終會(huì)去宿主機(jī)/usr/local/nginx/www/build找到頁(yè)面,所以我們的頁(yè)面文件夾build需要放在/usr/local/nginx/www/這里

 后端服務(wù):因?yàn)楝F(xiàn)在nginx是部署在docker容器里,后臺(tái)服務(wù)部署在宿主機(jī)里,基于docker和宿主機(jī)通信是通過(guò)搭建新的網(wǎng)關(guān)橋docker0網(wǎng)橋,我們可以通過(guò)docker inspect nginx(容器名或容器id)看到nginx的ip是172.17.0.4

 查看宿主機(jī)在docker0網(wǎng)橋下的所屬ip是172.17.0.1

 宿主機(jī)的wlan(使用wifi分配的ip) ip是192.168.1.106(使用網(wǎng)線的可以查看eth0分配的ip)

 基于docker和宿主機(jī)通信是通過(guò)搭建新的網(wǎng)關(guān)橋docker0網(wǎng)橋

需要注意的一點(diǎn)就是,即使ping通了,docker里nginx的容器最好進(jìn)行telnet測(cè)試一下能否連通宿主機(jī)的后端端口

若不通,就要看看宿主機(jī)是否防火墻是否開放這個(gè)端口

所以nginx配置后端服務(wù)需要這樣配置,需要代理到docker0網(wǎng)橋分配的ip:172.17.0.1或者網(wǎng)線分配的ip或者wifi分配的ip:192.168.1.106的后臺(tái)服務(wù)

location /prod-api/ {
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_pass http://172.17.0.1:8081/;
            #或 proxy_pass http://192.168.1.106:8081/;
		}

最后附上nginx配置文件

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
		charset utf-8;

		location / {
            root   /usr/share/nginx/html/build;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }

		
		location /prod-api/ {
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_pass http://172.17.0.1:8081/;
            #或 proxy_pass http://192.168.1.106:8081/;
		}

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

到此這篇關(guān)于docker搭建nginx的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)docker搭建nginx內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 滾動(dòng) docker 中的 nginx 日志思路詳解

    滾動(dòng) docker 中的 nginx 日志思路詳解

    Nginx 自己沒(méi)有處理日志的滾動(dòng)問(wèn)題,本文筆者介紹如何滾動(dòng)運(yùn)行在 docker 中的 nginx 日志文件,感興趣的朋友一起看看吧
    2018-08-08
  • CentOS Stream 9 服務(wù)器 Docker 部署 KaiwuDB 實(shí)戰(zhàn)指南

    CentOS Stream 9 服務(wù)器 Docker 部署 

    本文詳細(xì)記錄了使用Docker部署KaiwuDB的過(guò)程,并包括模數(shù)據(jù)庫(kù)支持序表與關(guān)系表跨模查詢實(shí)戰(zhàn),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2026-06-06
  • Docker安裝Redis并介紹可視化客戶端進(jìn)行操作

    Docker安裝Redis并介紹可視化客戶端進(jìn)行操作

    這篇文章主要介紹了Docker安裝Redis并介紹可視化客戶端進(jìn)行操作方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • docker部署管理工具portainer-ce的實(shí)現(xiàn)

    docker部署管理工具portainer-ce的實(shí)現(xiàn)

    Portainer是一個(gè)可視化的容器鏡像的圖形管理工具,利用Portainer可以輕松構(gòu)建,管理和維護(hù)Docker環(huán)境,本文主要介紹了docker部署管理工具portainer-ce的實(shí)現(xiàn),感興趣的可以了解一下
    2023-08-08
  • Docker Machine是什么?

    Docker Machine是什么?

    Docker Machine是什么?這篇文章主要介紹了Docker官方提供的一個(gè)工具Docker Machine,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 修改Docker默認(rèn)鏡像和容器的存儲(chǔ)位置的方法

    修改Docker默認(rèn)鏡像和容器的存儲(chǔ)位置的方法

    本篇文章主要介紹了修改Docker默認(rèn)鏡像和容器的存儲(chǔ)位置的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • docker logs命令的使用及說(shuō)明

    docker logs命令的使用及說(shuō)明

    這篇文章主要介紹了docker logs命令的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • mysql8.x docker遠(yuǎn)程訪問(wèn)配置詳解

    mysql8.x docker遠(yuǎn)程訪問(wèn)配置詳解

    本文主要介紹了mysql8.x docker遠(yuǎn)程訪問(wèn)配置,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 深入理解docker的四種網(wǎng)絡(luò)方式

    深入理解docker的四種網(wǎng)絡(luò)方式

    本篇文章主要介紹了深入理解docker的四種網(wǎng)絡(luò)方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • Docker容器內(nèi)存限制的方法

    Docker容器內(nèi)存限制的方法

    本篇文章主要介紹了Docker容器內(nèi)存限制的方法,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-01-01

最新評(píng)論

开鲁县| 新绛县| 奉贤区| 深圳市| 柘城县| 绥中县| 曲阜市| 乌拉特前旗| 馆陶县| 无锡市| 大兴区| 南召县| 定远县| 大港区| 抚远县| 温泉县| 潼南县| 乐山市| 茌平县| 广西| 乐平市| 吴江市| 达州市| 长武县| 格尔木市| 曲阜市| 广河县| 洛浦县| 昌吉市| 湖南省| 枣庄市| 札达县| 花莲市| 中超| 扎鲁特旗| 昭苏县| 秭归县| 阳原县| 云南省| 濉溪县| 阿城市|