docker 掛載卷

以下是針對您遇到的問題分步解答和解決方案:


一、核心結論

? 可以采用目錄方式:您的命令中的 -v /root/nginx05-vol/:/usr/share/nginx/html/ 是正確的目錄掛載語法。
? 看不到新文件的可能原因主要集中在 權限問題緩存機制操作順序錯誤 上。


二、具體排查步驟與解決方案

1. 檢查宿主機目錄權限

?? 關鍵問題:Nginx 容器默認以非 root 用戶(通常是 #1001)運行,若宿主機目錄權限不足,會導致容器內無法讀取新文件。

修復步驟

# 切換至宿主機目錄
cd /root/nginx05-vol/# 授予所有用戶讀權限(最小化權限原則推薦以下兩種方案之一):
# 方案A:開放讀權限給所有人
chmod a+r ./*# 方案B:修改目錄所有權為 Nginx 用戶的 UID(推薦生產環境)
chown 1001:1001 ./*  # 注意替換為實際 Nginx 用戶 ID
2. 驗證文件是否真實存在于宿主機目錄

📌 常見誤區:以為文件已創建,實則因路徑錯誤或名稱拼寫錯誤導致未生成。

驗證命令

ls -l /root/nginx05-vol/  # 確認文件存在且大小正常
3. 進入容器內部直接查看掛載點

通過此操作可快速判斷問題是出在 宿主機→容器同步 環節,還是 容器內服務未加載 環節。

操作步驟

# 進入運行中的容器終端
docker exec -it nginx-and-volume2 /bin/bash# 查看掛載目錄內容
ls -l /usr/share/nginx/html/
4. 處理 Nginx 緩存與重啟

🔄 現象解釋:即使文件已成功同步到容器內,Nginx 仍可能因緩存機制未加載新文件。

解決方案

# 方法1:優雅重啟 Nginx(推薦)
kill -HUP 1  # 向主進程發送 SIGHUP 信號# 方法2:暴力重啟容器(快速驗證)
docker restart nginx-and-volume2
5. 檢查 SELinux/AppArmor 安全模塊干擾

🚨 特殊場景:若您的系統啟用了 SELinux 或 AppArmor,可能會阻止容器訪問特定目錄。

臨時解決方案

# 嘗試禁用 SELinux(僅用于測試)
setenforce 0# 若有效,需永久修改策略(聯系運維人員)

三、完整操作示例

假設您要在 /root/nginx05-vol/ 下新增 test.html 并讓容器識別:

  1. 宿主機操作

    cd /root/nginx05-vol/
    echo "<h1>Test File</h1>" > test.html
    chmod 644 test.html  # 確保所有用戶可讀
    
  2. 容器內驗證

    docker exec -it nginx-and-volume2 ls -l /usr/share/nginx/html/
    # 應能看到 test.html
    
  3. 瀏覽器訪問測試
    打開瀏覽器輸入 http://<宿主機IP>:82/test.html(注意端口號對應關系)。


四、常見問題對照表

癥狀可能原因解決方案
容器內完全看不到新文件宿主機目錄權限不足chmod a+rchown 1001
容器內能看到文件但瀏覽器打不開Nginx 未重新加載配置kill -HUP 1 或重啟容器
文件間歇性出現SELinux/AppArmor 攔截檢查日志或臨時禁用安全模塊
文件名亂碼/特殊字符丟失編碼不一致確保文件使用 UTF-8 編碼保存

五、最佳實踐建議

  1. 開發環境簡化權限:暫時使用 chmod 777 /root/nginx05-vol/ 快速驗證功能,后續收緊權限。
  2. 生產環境規范:通過 chown 將目錄所有權設為 1001:1001(匹配 Nginx 用戶)。
  3. 自動化部署:在 Dockerfile 或 Compose 文件中聲明卷掛載,避免手動管理權限。

💡 提示:若頻繁遇到權限問題,建議改用數據卷(Data Volume)而非直接綁定宿主目錄,可通過 docker volume create 預先創建并配置好權限的卷。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/90561.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/90561.shtml
英文地址,請注明出處:http://en.pswp.cn/web/90561.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

uniapp 報錯 Not found ... at view.umd.min.js:1的問題

問題描述&#xff1a; uniapp的app中&#xff0c;當頁面中使用多個v-if后會出現這個報錯解決方案&#xff1a; 1、在v-if的地方加上key屬性&#xff08;key屬性要保證唯一&#xff09; 2、用v-show替換v-if&#xff08;不建議&#xff0c;可能會影響業務&#xff09;

水電站自動化升級:Modbus TCP與DeviceNet的跨協議協同應用

水電站的自動化系統就像一個精密的“神經中樞”&#xff0c;既要應對水流變化帶來的動態負載&#xff0c;又得保證閘門啟閉、水輪機調節等關鍵動作的精準性。我們去年參與的某水電站改造項目里&#xff0c;就遇到了一個典型問題&#xff1a;中控室的施耐德PLC采用Modbus TCP協議…

基于Matlab圖像處理的火災檢測系統設計與實現

隨著計算機視覺技術的快速發展&#xff0c;基于圖像處理的火災檢測系統在安全監控領域的應用得到了廣泛關注。本文提出了一種基于圖像處理的火災檢測系統&#xff0c;該系統通過對圖像進行預處理、顏色空間轉換、閾值化處理和形態學分析&#xff0c;自動檢測火災疑似區域。首先…

信息學奧賽一本通 1593:【例 2】牧場的安排 | 洛谷 P1879 [USACO06NOV] Corn Fields G

【題目鏈接】 ybt 1593&#xff1a;【例 2】牧場的安排 洛谷 P1879 [USACO06NOV] Corn Fields G 【題目考點】 1. 狀壓動規 【解題思路】 集合狀態&#xff1a;n個元素中&#xff0c;選擇x個元素構成的集合&#xff0c;可以由一個n位二進制數表示。第i位為1表示選擇第i個元…

SpringBoot創建項目的方式

一、Idea Spring initializr創建&#xff08;Spring 官網下載&#xff09; Spring官網只支持SpringBoot3.0以上&#xff0c;JDK17以上 二、idea Spring inst創建&#xff08;阿里云下載&#xff09; 阿里云可以支持JDK8的版本 Spring版本選擇2.7.6&#xff0c;選擇合適的依賴添…

云原生 —— K8s 容器編排系統

一、 簡介Kubernetes&#xff0c;也稱為K8s&#xff0c;是一個開源的容器編排系統&#xff0c;用于自動部署、擴展和管理容器化應用程序&#xff0c;幫助開發者更高效地跨集群管理應用。本文總結了 k8s 的基礎概念和技術架構。二、基礎概念1. 云原生&#xff08;Cloud Native…

SQLite中SQL的解析執行:Lemon與VDBE的作用解析

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu) 在 SQLite 的內部實現中&#xff0c;SQL 語句的解析與執行是一個精妙的過程&#xff0c;涉及詞法分析、語法分析、中間代碼生成與執行等多個環節。其中&#xff0c;Lemon 工具和 VDBE&#xff08;Virtual Database Engine…

C++學習筆記(十:類與對象基礎)

往篇內容&#xff1a; C學習筆記&#xff08;一&#xff09; 一、C編譯階段※ 二、入門案例解析 三、命名空間詳解 四、C程序結構 C學習筆記&#xff08;二&#xff09; 五、函數基礎 六、標識符 七、數據類型 補充&#xff1a;二進制相關的概念 sizeof 運算符簡介 補…

圖片查重從設計到實現(4)圖片向量化存儲-Milvus 單機版部署

Milvus 單機版部署 在 Docker 環境下安裝、應用和配置 Milvus 向量數據庫可以按照以下步驟進行&#xff0c;涵蓋從安裝到基礎應用的完整流程&#xff1a; 1. 部署前準備 服務器&#xff1a;建議測試環境配置 2 核 CPU、8GB 內存&#xff1b;處理 100 萬組向量數據&#xff0c;…

前端版本更新檢測機制

&#x1f4cc; 一、為什么需要前端版本更新檢測機制&#xff1f;在現代 Web 項目中&#xff0c;我們通常會通過 CDN 或緩存策略來加快頁面加載速度&#xff0c;但這也帶來了一個問題&#xff1a;用戶可能訪問的是舊版本的頁面或資源&#xff0c;而不會自動更新到最新版本。這在…

Python(09)正則表達式

特殊字符 1. 基本元字符 .&#xff1a;匹配除換行符以外的任意單個字符。 *&#xff1a;匹配前面的元素零次或多次。 &#xff1a;匹配前面的元素一次或多次。 ?&#xff1a;匹配前面的元素零次或一次。 2. 定量符 {n}&#xff1a;匹配前面的元素恰好 n 次。 {n,}&#xff1a;…

k8s容器放開鎖內存限制

參考&#xff1a;https://access.redhat.com/solutions/1257953 問題 nccl-test容器docker.io/library/nccl-tests:24.12中跑mpirun&#xff0c;buff設置為NCCL_BUFFSIZE503316480 提示out of memory&#xff1a; pod-1:78:91 [0] include/alloc.h:114 NCCL WARN Cuda failure …

基于Zigee的溫度數據采集系統

大家好&#xff0c;本文帶來的是單片機課設-基于Zigee的溫度數據采集系統。 一、設計內容和要求 基于Zigbee的數據采集系統 1.1設計內容 &#xff08;1&#xff09;分析對比Bluetooth、Zigbee、Lora方式組網的基本原理和性能差異&#xff0c;撰寫分析報告&#xff1b; &#xf…

ATH12K 驅動框架分析

文章目錄 Linux Wireless 驅動框架深入分析 **1. 核心框架層次結構** **1.1 cfg80211 子系統 (`net/wireless/`)** **1.2 mac80211 子系統 (`net/mac80211/`)** **2. ath12k 驅動架構分析** **2.1 核心管理文件** **2.2 數據路徑文件** **2.3 平臺接口文件** **2.4 功能模塊文件…

OSPF路由協議單區域

RIP的不足 以跳數評估的路由并非最優路徑 如果RTA選擇S0/0傳輸&#xff0c;傳輸需時會大大縮短為3sRIP協議限制網絡直徑不能超過16跳 收斂速度慢 RIP定期路由更新 – 更新計時器&#xff1a;定期路由更新的時間間隔&#xff0c;默認30秒。 – 失效計時器&#xff1a;失效計時器…

Kubernetes部署與管理Scrapy爬蟲:企業級分布式爬蟲平臺構建指南

引言&#xff1a;Kubernetes在爬蟲領域的戰略價值在大規模數據采集場景中&#xff0c;??容器化爬蟲管理??已成為企業級解決方案的核心。根據2023年爬蟲技術調查報告&#xff1a;采用Kubernetes的爬蟲系統平均資源利用率提升??65%??故障恢復時間從小時級縮短至??秒級?…

Web-Machine-N7靶機攻略

一.環境準備&#xff08;VBox&#xff0c;kali虛擬機&#xff0c;靶機&#xff09; 1.1Vbox下載地址: Downloads – Oracle VirtualBox 1.2將N7導入到這個虛擬機中 1.3將kali和Vbox都設置成橋接模式 1.4開啟靶機 若鼠標出不來可以使用組合技,CtrlAltDelete強制退出 二.信息…

用毫秒級視頻回傳打造穩定操控閉環之遠程平衡控制系統技術實踐

在工業自動化、遠程機器人、無人裝備等復雜作業場景中&#xff0c;遠程實時操控正逐步取代傳統“監控指令”模式&#xff0c;成為提升效率與保障安全的關鍵能力。尤其在高風險、高精度的應用環境中&#xff0c;操作者不僅要“能控”&#xff0c;更要“看得準、反應快”。 真正…

瑞薩電子RA-T MCU系列新成員RA2T1——電機控制專家

RA2T1系列微控制器基于64MHz ArmCortex-M23內核設計&#xff0c;專為單電機控制應用而優化。RA2T1集成PWM定時器&#xff0c;以及配備3個采樣保持電路的A/D轉換器等先進的模擬功能&#xff0c;適用于電動工具&#xff0c;風扇和家用電器等高效的低端電機控制方案。RA2T1支持1.6…

Java排序算法之<選擇排序>

目錄 1、選擇排序 1.1、介紹 1.2、穩定性 2、執行流程 3、java實現 4、優缺點 總結&#xff1a;Java 排序算法進階路線 O(n) 算法&#xff08;適合學習原理&#xff09; 冒泡排序&#xff08;最慢&#xff09;→ 選擇排序 → 插入排序&#xff08;推薦先學&#xff09; …