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

Docker部署Nginx服務的兩種實現(xiàn)方法

 更新時間:2025年09月04日 11:06:43   作者:MatrixExplore  
本文介紹了使用Docker部署Nginx服務的兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

引言

在現(xiàn)代應用部署中,Docker 憑借其輕量、隔離、可移植的特性成為主流選擇。Nginx 作為高性能的 Web 服務器和反向代理,結(jié)合 Docker 可以快速實現(xiàn)環(huán)境一致性和部署自動化。本文將詳細介紹如何通過 Docker 部署 Nginx 1.24.0 版本,并實現(xiàn)配置文件、日志和網(wǎng)站內(nèi)容的持久化管理。

準備工作

在開始部署前,請確保你的環(huán)境已滿足以下條件:

  • 已安裝 Docker 引擎(推薦版本 20.10 及以上)
  • 具備基本的 Linux 命令操作能力
  • 擁有服務器的 root 或 sudo 權限
  • 可通過以下命令驗證 Docker 是否正常運行
docker --version  # 查看 Docker 版本
systemctl status docker  # 檢查 Docker 服務狀態(tài)

方法1:docker方式部署

步驟一:拉取Nginx鏡像

Docker 鏡像作為容器的模板,我們首先需要從 Docker Hub 拉取官方的 Nginx 鏡像??梢灾付ㄒ粋€具體的版本,也可以默認拉取latest。

docker pull nginx:1.26.0

拉取完成后,可通過docker images命令查看本地鏡像列表,確認nginx:1.26.0 已存在:

docker images

步驟二:創(chuàng)建宿主機目錄結(jié)構

為了實現(xiàn) Nginx 配置、日志和網(wǎng)站內(nèi)容的持久化,避免容器刪除后數(shù)據(jù)丟失,我們需要在宿主機創(chuàng)建對應的目錄結(jié)構。推薦的目錄規(guī)劃如下:

  • 創(chuàng)建主目錄
mkdir -p /opt/nginx
  • 分別創(chuàng)建配置、日志和網(wǎng)站內(nèi)容目錄
mkdir -p /opt/nginx/conf    # 存放 Nginx 主配置文件
mkdir -p /opt/nginx/conf/conf.d  # 存放虛擬主機配置
mkdir -p /opt/nginx/log     # 存放 Nginx 日志
mkdir -p /opt/nginx/html    # 存放網(wǎng)站靜態(tài)文件

步驟三:獲取容器內(nèi)的默認配置文件

Nginx容器內(nèi)置了默認的配置文件,但這些文件存在于容器內(nèi)部。為了便于后續(xù)自定義配置,我們需要先通過一個臨時容器提取這些文件到宿主機的目錄中。

  • 啟動臨時 Nginx 容器,執(zhí)行以下命令創(chuàng)建并啟動一個臨時的 Nginx 容器:
docker run --name nginx -d nginx:1.26.0
# --name nginx:為容器指定名稱
# -d:以守護進程模式運行
  • 復制容器內(nèi)的配置文件到宿主機
    通過 docker cp 命令將容器內(nèi)的關鍵文件復制到之前創(chuàng)建的目錄中。
docker cp nginx:/etc/nginx/nginx.conf /opt/nginx/conf/nginx.conf
  • 復制虛擬主機配置目錄 conf.d
docker cp nginx:/etc/nginx/conf.d /opt/nginx/conf/
  • 復制默認網(wǎng)站內(nèi)容目錄html
docker cp nginx:/usr/share/nginx/html /opt/nginx/
  • 刪除臨時容器
    配置文件已提取完成,臨時容器不再需要,執(zhí)行以下命令停止并刪除容器:
docker stop nginx
docker rm nginx

步驟四:啟動正式的 Nginx 容器

基于宿主機的持久化目錄,啟動正式的 Nginx 容器,通過 -v 參數(shù)實現(xiàn)目錄掛載:

docker run --restart=always -d --name nginx \
-p 80:80 \
-v /opt/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /opt/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /opt/nginx/log:/var/log/nginx \
-v /opt/nginx/html:/usr/share/nginx/html \
-v /mnt/volumn:/mnt/volumn \
nginx:1.26.0

命令參數(shù)說明:
–restart=always:設置容器隨 Docker 服務自動啟動(避免服務器重啟后容器未運行)
-d:后臺運行容器
–name nginx:指定容器名稱為 nginx
-p 80:80:端口映射(宿主機 80 端口:容器內(nèi) 80 端口,外部可通過服務器 IP:80 訪問)
-v 目錄掛載:
配置文件掛載:確保宿主機修改配置后無需重啟容器即可生效(需執(zhí)行 nginx -s reload)
日志掛載:便于在宿主機直接查看和分析 Nginx 日志
網(wǎng)站內(nèi)容掛載:直接在宿主機修改 /opt/nginx/html 目錄下的文件即可更新網(wǎng)站內(nèi)容
/mnt/volumn:/mnt/volumn:額外 掛載自定義目錄(可根據(jù)實際需求添加或刪除,例如用于存放靜態(tài)資源)

步驟五:驗證 Nginx 容器運行狀態(tài)

容器啟動后,通過以下命令確認是否正常運行:

docker ps | grep nginx

查看容器詳細日志(排查啟動失敗問題)

docker logs nginx

若容器正常運行,可通過瀏覽器訪問服務器的 80 端口,應顯示Nginx的默認歡迎頁面

方法2:docker-compose方式部署

  • 拉取鏡像
docker pull nginx:1.26.0
  • 建立自定義網(wǎng)絡
docker network ls
docker network create --driver bridge my_switch
  • 編寫docker-compose.yml文件
services:
  nginx: # 服務的名稱 自定義
    image: nginx:1.26.0
    container_name: nginx # 容器名稱
    restart: always
    ports:
      - "80:80"
    volumes:
      - /opt/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
      - /opt/nginx/html:/usr/share/nginx/html
      - /opt/nginx/conf/conf.d:/etc/nginx/conf.d
      - /opt/nginx/log:/var/log/nginx
      - /mnt/volume:/mnt/volume
    networks:
      - my_switch
networks:
  my_switch:
    external: true  # 指明該網(wǎng)絡是外部定義和管理的
  • 啟動容器
    在docker-compose.yml文件所在的目錄下,打開終端或命令行界面,運行以下命令
docker-compose up -d

結(jié)語

本文闡述的Docker部署Nginx方案,核心在于通過目錄掛載實現(xiàn)數(shù)據(jù)持久化,既保留了容器化部署的輕量特性,又解決了配置與數(shù)據(jù)的管理難題。這種模式在實際生產(chǎn)環(huán)境中極具實用價值。當需要遷移服務時,只需打包宿主機的 /opt/nginx目錄與啟動命令,即可在新環(huán)境快速復現(xiàn)相同的運行實例。

本文還分別介紹了docker原生和docker-compose工具兩種方式部署nginx的方法。個人比較推薦后者,docker-compose方式使得docker的運維內(nèi)容都以yaml的方式保存下來,使得后期運維更加清晰明了,但docker原生的方式可以讓操作者更加熟悉docker底層的邏輯,也是一種加深學習映像的方式。

到此這篇關于Docker部署Nginx服務的兩種實現(xiàn)方法的文章就介紹到這了,更多相關Docker部署Nginx服務內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Docker 部署 Microsoft SQL Server 完全指南

    Docker 部署 Microsoft SQL Server 完全指南

    本文詳細介紹如何使用Docker快速部署Microsoft SQL Server,提供兩種主流方式,兩種方式都包含了數(shù)據(jù)持久化、資源限制等生產(chǎn)環(huán)境所需的配置,并提供了詳細的參數(shù)說明和常見問題解決方法,感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • 如何下載docker日志到本地

    如何下載docker日志到本地

    這篇文章主要介紹了如何下載docker日志到本地問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • docker如何查詢指定名字的容器id

    docker如何查詢指定名字的容器id

    要查詢指定名字的Docker容器ID,可以使用命令 docker ps -a --filter "name=CONTAINER_NAME" -q,該命令將返回指定名稱的容器ID,如果存在多個相同名稱的容器,則返回所有這些容器的ID
    2025-03-03
  • 查看docker是否處于啟動狀態(tài)的方法詳解

    查看docker是否處于啟動狀態(tài)的方法詳解

    Docker 是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,本文主要給大家介紹了查看docker是否處于啟動狀態(tài)的方法,需要的朋友可以參考下
    2024-06-06
  • Docker可視化ui管理工具Portainer安裝及使用解析

    Docker可視化ui管理工具Portainer安裝及使用解析

    這篇文章主要介紹了Docker可視化ui管理工具Portainer安裝及使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • docker形式簡易部署kibana的過程

    docker形式簡易部署kibana的過程

    這篇文章給大家介紹使用docker部署kibana服務的過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-11-11
  • docker容器中登陸并操作postgresql的實現(xiàn)

    docker容器中登陸并操作postgresql的實現(xiàn)

    本文主要介紹了docker容器中登陸并操作postgresql的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • Docker命令行與守護進程的交互方法

    Docker命令行與守護進程的交互方法

    這篇文章主要介紹了Docker命令行與守護進程的交互方法的相關資料,需要的朋友可以參考下
    2017-06-06
  • docker-compose中的環(huán)境變量問題

    docker-compose中的環(huán)境變量問題

    這篇文章主要介紹了docker-compose中的環(huán)境變量問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Linux服務器安裝Docker,啟動失敗問題的解決

    Linux服務器安裝Docker,啟動失敗問題的解決

    這篇文章主要介紹了Linux服務器安裝Docker,啟動失敗問題的解決方案,具有很好的參考價值,希望對大家有所幫助。
    2023-04-04

最新評論