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

在Docker容器中運(yùn)行Nginx的詳細(xì)教程

 更新時(shí)間:2025年10月22日 10:04:22   作者:不惑_  
Nginx 是一款高性能 Web 服務(wù)器,常被用作反向代理、負(fù)載均衡器以及內(nèi)容緩存,當(dāng)你將 Nginx 運(yùn)行在 Docker 容器中時(shí),還能進(jìn)一步獲得可移植性、快速部署和更整潔的管理體驗(yàn),本教程將帶你從零開(kāi)始學(xué)習(xí)如何使用 Docker 部署 Nginx,需要的朋友可以參考下

前言

Nginx 是一款高性能 Web 服務(wù)器,常被用作反向代理、負(fù)載均衡器以及內(nèi)容緩存。它以高效與靈活著稱(chēng),是提供靜態(tài)文件服務(wù)、流量管理和提升應(yīng)用速度的首選解決方案。而當(dāng)你將 Nginx 運(yùn)行在 Docker 容器中時(shí),還能進(jìn)一步獲得可移植性、快速部署和更整潔的管理體驗(yàn)

本教程將帶你從零開(kāi)始學(xué)習(xí)如何使用 Docker 部署 Nginx。內(nèi)容包括:

  • 拉取官方鏡像
  • 在 Docker 容器中運(yùn)行 Nginx
  • 映射端口并訪(fǎng)問(wèn)服務(wù)
  • 使用自定義配置文件和 HTML 內(nèi)容
  • 管理容器
  • 使用 Docker Compose 管理多容器環(huán)境

完成后,你將能夠以快速、干凈、可重復(fù)的方式運(yùn)行屬于你自己的 Nginx 服務(wù)。

一、運(yùn)行 Nginx 所需的前提條件

在開(kāi)始之前,請(qǐng)確保具備以下條件:

  1. 擁有 VPS 主機(jī)訪(fǎng)問(wèn)權(quán)限
    如果你還沒(méi)有,可以考慮 云廠商 等提供的 VPS 托管方案。
  2. 服務(wù)器上已安裝 Docker
  3. 熟悉基本的 Docker 命令
  4. 已安裝 Docker Compose(用于高級(jí)配置)

重要提示
Docker 命令通常需要 sudo 權(quán)限。
你可以將當(dāng)前用戶(hù)添加到 Docker 用戶(hù)組以免每次都輸入 sudo。
本教程中為簡(jiǎn)潔起見(jiàn)省略了 sudo,你可根據(jù)實(shí)際環(huán)境調(diào)整。

二、拉取 Nginx 官方 Docker 鏡像

要啟動(dòng) Nginx,首先需要從 Docker Hub 拉取官方鏡像:

docker pull nginx

該命令會(huì)獲取最新的穩(wěn)定版 Nginx 鏡像。推薦始終使用官方鏡像,因?yàn)樗?Nginx 團(tuán)隊(duì)維護(hù),更新及時(shí)且無(wú)冗余內(nèi)容。

下載完成后,運(yùn)行以下命令驗(yàn)證鏡像是否存在:

docker images

在輸出結(jié)果的“REPOSITORY”列中查找 nginx 即可確認(rèn)。

三、以分離模式運(yùn)行 Nginx 容器

有了鏡像后,可以啟動(dòng)一個(gè)名為 nginx-server 的容器:

docker run -d --name nginx-server -p 80:80 nginx

命令說(shuō)明:

  • -d:讓容器在后臺(tái)運(yùn)行(Detached 模式)
  • --name:為容器命名
  • -p 80:80:將主機(jī)的 80 端口映射到容器的 80 端口

Detached 模式意味著容器在后臺(tái)持續(xù)運(yùn)行,不占用當(dāng)前終端,非常適合 Nginx 這類(lèi)長(zhǎng)期運(yùn)行的服務(wù)。

驗(yàn)證容器運(yùn)行狀態(tài):

docker ps

然后在本地測(cè)試訪(fǎng)問(wèn):

curl http://localhost:80

成功后,你將看到 Nginx 默認(rèn)歡迎頁(yè):

四、端口映射與訪(fǎng)問(wèn)控制

默認(rèn)情況下,Nginx 在容器內(nèi)部監(jiān)聽(tīng) 80 端口。
使用 -p 參數(shù)可以指定主機(jī)與容器端口的映射:

docker run -d --name nginx-alt -p 8080:80 nginx

這樣,外部訪(fǎng)問(wèn) http://localhost:8080 即可訪(fǎng)問(wèn)容器內(nèi)部的 80 端口。

如果出現(xiàn)“port already allocated”錯(cuò)誤,說(shuō)明端口被占用,可以使用 lsof -i :80netstat 檢查端口使用情況。

五、自定義 Nginx 配置文件

你可以通過(guò)掛載自定義配置文件來(lái)實(shí)現(xiàn)反向代理、緩存、SSL 或其他高級(jí)功能。

創(chuàng)建配置文件:

nano nginx.conf

示例配置(將請(qǐng)求代理到 http://127.0.0.1:3000):

worker_processes 1;

events {
    worker_connections 1024;
}

http {
    server {
        listen 80;
        location / {
            proxy_pass http://127.0.0.1:3000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    }
}

運(yùn)行帶自定義配置的容器:

docker run -d --name nginx-reverse-proxy \
  -p 8080:80 \
  -v /full/path/to/nginx.conf:/etc/nginx/nginx.conf:ro \
  nginx

-v 參數(shù)掛載本地配置文件到容器內(nèi),并設(shè)置只讀模式(:ro)。

測(cè)試代理是否生效:

curl http://localhost:8080

若需修改配置,修改文件后執(zhí)行:

docker restart nginx-reverse-proxy

六、掛載靜態(tài)網(wǎng)站內(nèi)容

Nginx 最常見(jiàn)的用途之一是托管靜態(tài)網(wǎng)頁(yè)。
只需將本地網(wǎng)站目錄掛載到容器內(nèi):

docker run -d --name nginx-static \
  -p 8080:80 \
  -v /path/to/site:/usr/share/nginx/html:ro \
  nginx

這樣,Nginx 會(huì)自動(dòng)從 /usr/share/nginx/html 提供內(nèi)容。默認(rèn)配置支持 HTML、CSS、JS、圖片等基礎(chǔ)類(lèi)型。

若需重定向、自定義緩存規(guī)則或訪(fǎng)問(wèn)控制,可再定義自有 nginx.conf。

七、管理 Nginx 容器

常用命令如下:

停止容器

docker stop nginx-server

啟動(dòng)容器

docker start nginx-server

重啟容器

docker restart nginx-server

查看日志

docker logs nginx-server

刪除容器

docker stop nginx-server
docker rm nginx-server

保持環(huán)境整潔有助于避免端口沖突和資源浪費(fèi)。

八、使用 Docker Compose 管理 Nginx

當(dāng)項(xiàng)目包含多個(gè)容器時(shí),Docker Compose 可以讓部署更簡(jiǎn)單。
創(chuàng)建 docker-compose.yml 文件:

version: '3'
services:
  nginx:
    image: nginx
    container_name: nginx-compose
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
      - ./nginx.conf:/etc/nginx/nginx.conf:ro

在同一目錄下執(zhí)行:

docker-compose up -d

停止并清理:

docker-compose down

九、多服務(wù)協(xié)同部署(Nginx + 后端)

Docker Compose 也可以同時(shí)運(yùn)行前后端服務(wù),例如 Node.js + Nginx。

示例 docker-compose.yml

version: '3'
services:
  backend:
    build: ./backend
    container_name: node-app
    ports:
      - "3000:3000"
    networks:
      - app-network

  nginx:
    image: nginx
    container_name: nginx-proxy
    ports:
      - "8080:80"
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
    depends_on:
      - backend
    networks:
      - app-network

networks:
  app-network:

這樣,Nginx 將通過(guò)網(wǎng)絡(luò)連接到后端容器,實(shí)現(xiàn)流量轉(zhuǎn)發(fā)。

結(jié)語(yǔ)

至此,你已經(jīng)學(xué)會(huì)如何:

  • 從官方鏡像運(yùn)行 Nginx
  • 使用自定義配置或靜態(tài)資源
  • 管理容器生命周期
  • 通過(guò) Docker Compose 構(gòu)建多服務(wù)架構(gòu)

Nginx + Docker 的組合能讓部署更高效、環(huán)境更干凈、遷移更方便。無(wú)論是搭建個(gè)人網(wǎng)站還是構(gòu)建復(fù)雜微服務(wù)體系,這都是最穩(wěn)妥的起點(diǎn)。

以上就是在Docker容器中運(yùn)行Nginx的詳細(xì)教程的詳細(xì)內(nèi)容,更多關(guān)于Docker運(yùn)行Nginx的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 告別Docker請(qǐng)求超時(shí)之一步步排查與詳細(xì)解決方案

    告別Docker請(qǐng)求超時(shí)之一步步排查與詳細(xì)解決方案

    在Ubuntu系統(tǒng)上安裝Docker后,運(yùn)行docker?run?hello-world時(shí)遇到連接超時(shí)問(wèn)題,下面這篇文章主要介紹了Docker請(qǐng)求超時(shí)一步步排查與詳細(xì)解決方案的相關(guān)資料,需要的朋友可以參考下
    2025-02-02
  • Docker API 未授權(quán)訪(fǎng)問(wèn)漏洞問(wèn)題解析

    Docker API 未授權(quán)訪(fǎng)問(wèn)漏洞問(wèn)題解析

    這篇文章主要介紹了Docker API 未授權(quán)訪(fǎng)問(wèn)漏洞問(wèn)題解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • 詳解如何進(jìn)入、退出docker容器的方法

    詳解如何進(jìn)入、退出docker容器的方法

    這篇文章主要介紹了詳解如何進(jìn)入、退出docker容器的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Docker網(wǎng)絡(luò)IP地址沖突的解決方法

    Docker網(wǎng)絡(luò)IP地址沖突的解決方法

    本文主要介紹了Docker網(wǎng)絡(luò)IP地址沖突的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 詳解在Docker容器內(nèi)外互相拷貝數(shù)據(jù)的方法

    詳解在Docker容器內(nèi)外互相拷貝數(shù)據(jù)的方法

    本篇文章主要介紹了詳解在Docker容器內(nèi)外互相拷貝數(shù)據(jù)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • docker安裝redis并掛載到本地的詳細(xì)教程

    docker安裝redis并掛載到本地的詳細(xì)教程

    這篇文章主要介紹了docker安裝redis并掛載到本地,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Docker搭建RabbitMq的普通集群和鏡像集群的詳細(xì)操作

    Docker搭建RabbitMq的普通集群和鏡像集群的詳細(xì)操作

    這篇文章主要介紹了Docker搭建RabbitMq的普通集群和鏡像集群,我本機(jī)是window10,通過(guò)docker搭建兩個(gè)rabbitmq節(jié)點(diǎn),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11
  • 修改Docker鏡像默認(rèn)存儲(chǔ)位置的3種實(shí)現(xiàn)方式

    修改Docker鏡像默認(rèn)存儲(chǔ)位置的3種實(shí)現(xiàn)方式

    文章介紹了三種解決Docker容器存儲(chǔ)空間不足的問(wèn)題的方法:使用軟鏈接、指定容器啟動(dòng)參數(shù)和創(chuàng)建配置文件,這些方法可以幫助更好地管理和擴(kuò)展Docker容器的存儲(chǔ)空間
    2026-03-03
  • 部署Prometheus+Grafana監(jiān)控平臺(tái)實(shí)踐

    部署Prometheus+Grafana監(jiān)控平臺(tái)實(shí)踐

    文章介紹了如何在宿主機(jī)上配置Prometheus和Grafana,并使用NodeExporter監(jiān)控Linux服務(wù)器,通過(guò)Docker部署Prometheus和Grafana,并在Prometheus中添加NodeExporter作為數(shù)據(jù)源,最后,通過(guò)Grafana導(dǎo)入儀表盤(pán)來(lái)可視化監(jiān)控?cái)?shù)據(jù)
    2026-01-01
  • Centos7上安裝docker的方法

    Centos7上安裝docker的方法

    Docker從1.13版本之后采用時(shí)間線(xiàn)的方式作為版本號(hào),分為社區(qū)版CE和企業(yè)版EE。這篇文章給大家介紹了Centos7上安裝docker的方法,感興趣的朋友一起看看吧
    2018-07-07

最新評(píng)論

丹巴县| 广丰县| 永年县| 东明县| 昭苏县| 务川| 馆陶县| 方山县| 峡江县| 界首市| 泰兴市| 宜春市| 长汀县| 武强县| 扎鲁特旗| 桑日县| 共和县| 通城县| 竹溪县| 金平| 吴江市| 教育| 常德市| 海门市| 上犹县| 呼图壁县| 得荣县| 北票市| 石屏县| 招远市| 望都县| 南开区| 崇仁县| 瑞丽市| 三明市| 宁晋县| 柳林县| 柳河县| 溧水县| 铅山县| 莱阳市|