Docker執行nginx檔案伺服器詳細配置
阿新 • • 發佈:2020-12-21
nginx.conf
user root; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request"' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }
將nginx啟動使用者修改為root,否則會存在檔案許可權問題
nginx-file-server.conf
server { listen 8081; #埠 server_name localhost; #服務名 charset utf-8; # 避免中文亂碼 root /data; #顯示的根索引目錄,注意這裡要改成你自己的,目錄要存在 location / { autoindex on; #開啟索引功能 autoindex_exact_size off; # 關閉計算檔案確切大小(單位bytes),只顯示大概大小(單位kb、mb、gb) autoindex_localtime on; # 顯示本機時間而非 GMT 時間 } }
啟用8081作為檔案伺服器埠
執行命令:
docker run -d -p 8081:8081 --name file-server -v $(pwd):/data -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf -v $(pwd)/nginx-file-server.conf:/etc/nginx/conf.d/nginx-file-server.conf nginx
命令將宿主的當前目錄掛載到容器的/data目錄,並掛載conf配置檔案,啟動nginx
或者直接執行以下命令
curl -s https://files-cdn.cnblogs.com/files/nihaorz/start-nginx-file-server.sh | bash