docker運行nginx綁定設定檔失敗如何解決
直接執行啟動指令會失敗
pull鏡像:
docker pull nginx
然後執行啟動指令:
docker run -d -p 80:80 -p 443:443 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \ -v /mydata/nginx/logs:/var/log/nginx \ -v /mydata/nginx/cache:/var/cache/nginx \ --restart=always nginx
如果/mydata/nginx/conf/nginx. conf
檔案不存在,這裡會出現docker報錯,因為docker不允許綁定不存在的檔案。
而直接新建一個空的/mydata/nginx/conf/nginx.conf
#雖然docker不會報錯,但是nginx無法在容器中正常啟動,透過docker ps -a
指令查看,nginx會處於exit
或一直restart
狀態,因為nginx的運行依賴於nginx.conf
這個設定檔中的相關配置。
解決想法及辦法
先運行一個容器,不使用-v綁定,然後將容器中的相關檔案直接copy到指定位置,之後就可以刪除容器,直接運行之前的啟動命令了。
具體操作如下:
首先建立好相關資料夾:
mkdir -p \ /mydata/nginx/html \ /mydata/nginx/conf \ /mydata/nginx/logs \ /mydata/nginx/cache
#跑起來一個nginx容器:
docker run -d --name nginx nginx
複製設定檔和資料夾到宿主機指定目錄:
docker cp nginx:/etc/nginx/nginx.conf /mydata/nginx/conf/ docker cp nginx:/etc/nginx/conf.d /mydata/nginx/conf.d
刪除原始容器:
docker rm -f nginx
執行啟動指令,-v綁定相關磁碟區:
docker run -d -p 80:80 -p 443:443 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \ -v /mydata/nginx/logs:/var/log/nginx \ -v /mydata/nginx/cache:/var/cache/nginx \ --restart=always nginx
移動copy的conf.d
目錄中的檔案到正確的位置:
mv /mydata/nginx/conf.d/* /mydata/nginx/conf/conf.d/ rm -rf /mydata/nginx/conf.d
這樣nginx容器就可以正常運行,並且我們透過上面的操作將nginx.conf
檔案和conf.d
目錄都映射到了宿主主機上,以後需要修改nginx.conf
檔案或為conf.d
新增.conf
檔案都只需要在宿主機上的對應位置操作即可。
以上是docker運行nginx綁定設定檔失敗如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PiNetwork節點詳解及安裝指南本文將詳細介紹PiNetwork生態系統中的關鍵角色——Pi節點,並提供安裝和配置的完整步驟。 Pi節點在PiNetwork區塊鏈測試網推出後,成為眾多先鋒積極參與測試的重要環節,為即將到來的主網發布做準備。如果您還不了解PiNetwork,請參考Pi幣是什麼?上市價格多少? Pi用途、挖礦及安全性分析。什麼是PiNetwork? PiNetwork項目始於2019年,擁有其專屬加密貨幣Pi幣。該項目旨在創建一個人人可參與

DeepSeek的安裝方法有多種,包括:從源碼編譯(適用於經驗豐富的開發者)使用預編譯包(適用於Windows用戶)使用Docker容器(最便捷,無需擔心兼容性)無論選擇哪種方法,請仔細閱讀官方文檔並充分準備,避免不必要的麻煩。

使用Docker容器部署JavaEE應用程式:建立Dockerfile定義映像、建置映像、運行容器並映射端口,然後在瀏覽器中存取應用程式。範例JavaEE應用程式:RESTAPI與資料庫交互,透過Docker部署後可在localhost存取。

答:利用PHPCI/CD實現快速迭代,包括設定CI/CD管道、自動化測試和部署流程。設定CI/CD管道:選擇CI/CD工具,配置程式碼儲存庫,定義建置管道。自動化測試:編寫單元和整合測試,使用測試框架簡化測試。實戰案例:使用TravisCI:安裝TravisCI,定義管道,啟用管道,查看結果。實現持續交付:選擇部署工具,定義部署管道,自動化部署。效益:提高開發效率、減少錯誤、縮短交貨時間。

1.首先,開啟介面後,點選左側的擴充圖示按鈕2.隨後,在開啟的擴充頁面中找到搜尋欄位置3.接著,滑鼠輸入Docker字眼尋找擴充插件4.最後,選取目標插件,點選右下角的安裝按鈕即可

Wordpress站點文件訪問受限:排查.txt文件無法訪問的原因最近有用戶在配置小程序業務域名時,遇到一個問題:�...

在Docker環境中使用PECL安裝擴展時報錯的原因及解決方法在使用Docker環境時,我們常常會遇到一些令人頭疼的問�...

在同一系統中同時運行多個PHP版本是一個常見的需求,特別是當不同項目依賴於不同版本的PHP時。如何在同一台...
