Docker容器中Nginx訪問靜態檔案404

2021-10-11 09:21:20 字數 1088 閱讀 2505

在根目錄下建立了data目錄,data目錄下分別有乙個www和img目錄(www存放靜態html,img存放),然後在nginx配置檔案中新增動靜分離的配置。啟動nignx後訪問192.168.244.128:80/img/一直是404,檢查了配置檔案確定沒有錯誤

這是因為在docker中啟動的nignx容器,nginx在訪問資源時是訪問容器內部中路徑的檔案,而不是linux系統中路徑的檔案。而且docker也沒有提供對執行的容器新增掛載檔案的功能,所有只能在通過docker exec -it nginx容器名 bash命令進入nignx容器內部建立檔案,或者

重新建立nignx容器,在建立的時候將linux中的data目錄掛載到docker中的data目錄。啟動nignx容器,此時便可以訪問到靜態資源了。

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

-v /root/nginx/html:/usr/share/nginx/html

-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf

-v /root/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf

-v /root/nginx/logs:/var/log/nginx

-v /root/data:/data

nginx映象名

docker中nginx容器和php容器混合執行

該容器在文章 php環境容器大 制得,亦可用docker官方提供的php環境 啟動php容器 docker run name php1 v home wwwroot service config php config usr local php etc v home wwwroot home www...

docker容器中nginx日誌的分割

之前寫過一篇在宿主機上的nginx日誌分割,現在應為專案執行在docker容器裡面,但是容器中並不像宿主機那樣安裝了crontab定時任務,雖然可以將crontab打包進映象,但是應為專案沒有打包進去,所以只能只能選擇其他的解決方案了。下面我來說明一下這邊的解決方案 在建立好映象以後,還需要通過do...

docker 容器之nginx 篇

2.簡單執行nginx 容器 python docker run name my nginx d p 80 80 d nginx 3.將nginx 容器的一些配置掛載到宿主目錄下 python mkdir nginx mkdir nginx conf mkdir nginx logs mkdir n...