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

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

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

一、安裝Docker

1、安裝:

yum install docker 

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

systemctl docker start 
systemctl docker stop 
systemctl docker restart
#開機自啟動 
systemctl enable docker

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

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

3、查看docker版本信息

docker version

4、查看所有docker鏡像

docker images

二、安裝Nginx

1、拉取Nginx鏡像文件

docker pull [鏡像名]:[版本號]  //版本號可省略,省略會下載最新版本
例如:
docker pull nginx //下載最新的Nginx鏡像

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

docker images

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

docker run -d --name nginx01 -p 8050:80 nginx
命令詳解:
# docker run 啟動一個鏡像
# -d 表示后臺允許
# --name nginx01  表示為當前容器起一個別名
# -p 8050:80 表示將本機的8050端口映射到nginx鏡像的80端口
4、查看正在運行的容器
docker ps

5、查看Nginx是否部署成功

curl localhost:8050

1、進入Nginx容器當中

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

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

whereis nginx

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

exit

4、停止并移除Nginx容器

docker stop ff6fc #停止容器,容器id可不用寫全,只要寫到能識別到唯一一條就可以
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、再次啟動容器并作目錄掛載

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文件會亂
就是
端口:宿主機8050端口映射docker里nginx容器的80端口,所以我們訪問宿主機ip+8050端口,就會映射到docker里nginx容器里的80端口,所以nginx配置文件listen是監(jiān)聽80端口,這個千萬不要搞錯了
頁面:打包的頁面文件夾是build,宿主機頁面路徑/usr/local/nginx/www/,映射的是docker里nginx容器的/usr/share/nginx/html/路徑,所以nginx配置文件
里的location的/usr/share/nginx/html這個路徑不用調(diào)整,只需在后面加上部署的前端頁面路徑,下面就是加上了build,然后前端打包的頁面build文件夾放在宿主機的/usr/local/nginx/www/就可以了
location / {
        root   /usr/share/nginx/html/build;
        try_files $uri $uri/ /index.html;
        index  index.html index.htm;
    }

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

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

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

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

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

需要注意的一點就是,即使ping通了,docker里nginx的容器最好進行telnet測試一下能否連通宿主機的后端端口

若不通,就要看看宿主機是否防火墻是否開放這個端口

所以nginx配置后端服務(wù)需要這樣配置,需要代理到docker0網(wǎng)橋分配的ip:172.17.0.1或者網(wǎng)線分配的ip或者wifi分配的ip:192.168.1.106的后臺服務(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的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)docker搭建nginx內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker 安裝 LogStash的詳細過程

    Docker 安裝 LogStash的詳細過程

    Logstash,作為Elastic Stack家族中的核心成員之一,是一個功能強大的開源數(shù)據(jù)收集引擎,在本文中,我們將詳細介紹如何借助Docker容器技術(shù)快速安裝配置Logstash,以實現(xiàn)日志及各類事件數(shù)據(jù)的無縫集成與實時處理,感興趣的朋友一起看看吧
    2024-03-03
  • Docker守護進程安全配置項目詳解

    Docker守護進程安全配置項目詳解

    這篇文章主要介紹了Docker守護進程安全配置介紹,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • docker 啟動具有多個網(wǎng)絡(luò)接口的容器的方法示例

    docker 啟動具有多個網(wǎng)絡(luò)接口的容器的方法示例

    這篇文章主要介紹了docker 啟動具有多個網(wǎng)絡(luò)接口的容器的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • 基于Docker部署GitLab環(huán)境搭建的方法步驟

    基于Docker部署GitLab環(huán)境搭建的方法步驟

    這篇文章主要介紹了基于Docker部署GitLab環(huán)境搭建的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-10-10
  • Docker項目部署之從后端到前端部署詳細流程

    Docker項目部署之從后端到前端部署詳細流程

    在當今的軟件開發(fā)領(lǐng)域,容器化技術(shù)已經(jīng)成為了部署和管理應(yīng)用程序的重要手段,下面這篇文章主要給大家介紹了關(guān)于Docker項目部署之從后端到前端部署的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • Docker使用Portainer搭建可視化界面的方法

    Docker使用Portainer搭建可視化界面的方法

    這篇文章主要介紹了Docker使用Portainer搭建可視化界面,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Spring Cloud中使用jib進行docker部署的步驟詳解

    Spring Cloud中使用jib進行docker部署的步驟詳解

    這篇文章主要介紹了Spring Cloud中使用jib進行docker部署的步驟詳解,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • docker容器通信參數(shù)使用及l(fā)ink參數(shù)介紹

    docker容器通信參數(shù)使用及l(fā)ink參數(shù)介紹

    這篇文章主要介紹了docker容器通信參數(shù)使用及l(fā)ink參數(shù)介紹,link的原理就是在/etc/hosts里面添加了一個alias的名稱,本文通過案例分析給大家詳細講解,需要的朋友可以參考下
    2022-09-09
  • CentOS修改docker鏡像存儲位置并進行數(shù)據(jù)遷移的操作方法

    CentOS修改docker鏡像存儲位置并進行數(shù)據(jù)遷移的操作方法

    本文詳細介紹了在CentOS上修改Docker鏡像存儲位置并進行數(shù)據(jù)遷移的步驟,包括停止Docker服務(wù)、創(chuàng)建新的存儲目錄、復(fù)制現(xiàn)有數(shù)據(jù)、修改Docker配置、重啟Docker服務(wù)、驗證配置、清理舊數(shù)據(jù)(可選)以及檢查容器和鏡像,感興趣的朋友一起看看吧
    2025-01-01
  • Docker安裝配置RabbitMQ的實現(xiàn)步驟

    Docker安裝配置RabbitMQ的實現(xiàn)步驟

    RabbitMQ是基于AMQP的一款消息管理系統(tǒng)。AMQP(Advanced?Message?Queuing?Protocol),是一個提供消息服務(wù)的應(yīng)用層標準高級消息隊列協(xié)議,其中RabbitMQ就是基于這種協(xié)議的一種實現(xiàn)
    2021-11-11

最新評論