docker部署nginx訪問宿主機(jī)服務(wù)并使用緩存的操作方法
一、拉取docker
docker pull nginx
二、創(chuàng)建配置文件夾、緩存數(shù)據(jù)存放文件夾和日志文件夾
舉例:
mkdir -p /etc/nginx/nginx.conf mkdir -p /etc/nginx/log mkdir -p /data/nginx/cache
三、在配置文件夾下面新增配置文件
default.conf,host.docker.internal這個(gè)是訪問宿主機(jī)的主機(jī)名,固定的。
server { listen 80; listen [::]:80; server_name 域名; location ^~/file { proxy_cache video_cache; proxy_cache_valid 200 304 12h; proxy_cache_valid any 10m; proxy_cache_lock on; proxy_cache_key $host$uri$is_args$args; add_header Nginx-Cache "$upstream_cache_status"; proxy_pass http://host.docker.internal:8080/file; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
新增nginx.conf,放通用配置
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { # 引入 mime.types 文件,該文件定義了 MIME 類型映射 include /etc/nginx/mime.types; # 設(shè)置默認(rèn) MIME 類型為 application/octet-stream default_type application/octet-stream; # 設(shè)置日志格式 main,記錄客戶端訪問日志 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; log_format cache '***$time_local ' '***$upstream_cache_status ' '***Cache-Control: $upstream_http_cache_control ' '***Expires: $upstream_http_expires ' '***"$request" ($status) ' '***"$http_user_agent" '; # 指定訪問日志的存儲(chǔ)位置和使用的日志格式 access_log /var/log/nginx/log/access.log main; error_log /var/log/nginx/log/error.log warn; access_log /var/log/nginx/log/cache.log cache; # 開啟 sendfile 功能,提高文件傳輸性能 sendfile on; # 如果客戶端連接非常快速,則可能啟用 tcp_nopush,否則請(qǐng)注釋掉此行 # tcp_nopush on; # 客戶端與服務(wù)器之間的連接保持時(shí)間,超過這個(gè)時(shí)間將會(huì)自動(dòng)關(guān)閉連接 keepalive_timeout 65; # 如果需要開啟 gzip 壓縮功能,可以去掉此行的注釋 gzip on; upstream onedrive_download{ server host.docker.internal:8080; } proxy_cache_path /etc/nginx/cache levels=1:2 keys_zone=video_cache:10m max_size=10g inactive=1440m use_temp_path=off; # 引入 /etc/nginx/conf.d/ 目錄下的所有 .conf 配置文件 include /etc/nginx/conf.d/*.conf; }
四、啟動(dòng)服務(wù)
docker run -d --name nginx --restart=always --add-host=host.docker.internal:host-gateway \ -v /etc/nginx/nginx.conf/nginx.conf:/etc/nginx/nginx.conf \ -v /etc/nginx/nginx.conf/default.conf:/etc/nginx/conf.d/default.conf \ -v /etc/nginx/log/log/:/var/log/nginx/log/ \ -v /data/nginx/cache:/etc/nginx/cache \ -p 80:80 -t nginx
--add-host=host.docker.internal:host-gateway
的作用就是為了能映射宿主機(jī)host。其他的都是映射被指文件和緩存文件。
到此這篇關(guān)于docker部署nginx訪問宿主機(jī)服務(wù),并使用緩存的文章就介紹到這了,更多相關(guān)docker部署nginx內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
jenkins構(gòu)建Docker 鏡像實(shí)例詳解
這篇文章主要介紹了 jenkins構(gòu)建Docker 鏡像實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04詳解從 0 開始使用 Docker 快速搭建 Hadoop 集群環(huán)境
這篇文章主要介紹了詳解從 0 開始使用 Docker 快速搭建 Hadoop 集群環(huán)境,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03Docker 無(wú)法停止或刪除容器服務(wù)問題的解決方案
這篇文章主要介紹了Docker 無(wú)法停止或刪除容器服務(wù)問題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2021-03-03Ubuntu 下通過 Docker 部署 NGINX 服務(wù)器的步驟詳解
今天分享如何在三豐云免費(fèi)服務(wù)器上使用Docker部署NGINX服務(wù)器,Docker容器化平臺(tái)提升應(yīng)用可移植性,NGINX作為高性能HTTP和反向代理服務(wù)器,感興趣的朋友跟隨小編一起看看吧2025-02-02Docker安裝mysql9.1.0的實(shí)現(xiàn)
本文主要介紹了Docker安裝mysql9.1.0的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02Centos中使用Docker安裝rabbitmq的問題記錄
這篇文章主要介紹了Centos中使用Docker安裝rabbitmq的問題記錄,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-05-05Centos7安裝Docker(2020最新親測(cè)可用,直接復(fù)制粘貼即可)
這篇文章主要介紹了Centos7安裝Docker(2020最新親測(cè)可用,直接復(fù)制粘貼即可),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01