今天在啟動一個docker 運行nginx實例,在掛載目錄時,出現訪問靜態目錄時,權限不夠
執行的命令是:
docker run
--name my-nginx
-d -p 80:80
--restart=always
-v /cloud/nginx/webroot:/usr/share/nginx/html:rw
-v /cloud/nginx/log:/var/log/nginx
-v /cloud/nginx/config/nginx.conf:/etc/nginx/nginx.conf:ro
-d nginx
說明:
1.其中/cloud/nginx/webroot 是我的宿主機中目錄,用於存放靜態面頁
2./cloud/nginx/log 存放日志
3./cloud/nginx/config/nginx.conf 為nginx的配置文件
使用查看日志命令顯示如下:
2018/02/02 02:45:12 [error] 5#5: *1 "/usr/share/nginx/html/index.html" is forbidden (13: Permission denied), client: 10.11.3.51, server: localhost, request: "GET / HTTP/1.1", host: "10.11.3.86"
2018/02/02 02:45:12 [error] 5#5: *1 "/usr/share/nginx/html/index.html" is forbidden (13: Permission denied), client: 10.11.3.51, server: localhost, request: "GET / HTTP/1.1", host: "10.11.3.86"
后發現是宿主機的目錄權限不夠,所以果斷加上 參數:
--privileged=true
完整命令如下:
docker run
--name my-nginx
-d -p 80:80
--restart=always
--privileged=true
-v /cloud/nginx/webroot:/usr/share/nginx/html:rw
-v /cloud/nginx/log:/var/log/nginx
-v /cloud/nginx/config/nginx.conf:/etc/nginx/nginx.conf:ro
-d nginx
加上啟動容器,訪問就0k了
