您好,登錄后才能下訂單哦!
這篇文章主要介紹了docker運行nginx綁定配置文件失敗如何解決的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇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綁定配置文件失敗如何解決”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“docker運行nginx綁定配置文件失敗如何解決”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。