docker 代理本地目录
1. 选择要挂载的目录
我选择 /amydata 目录进行对外暴露
2. 配置nginx 文件
保存在宿主机 /a_nginx_conf/nginx.conf
修改 38 行,你要进行暴露的文件夹
location / { #代理本地文件夹 root /amydata; autoindex on; }
完整的 /a_nginx_conf/nginx.conf
worker_processes 1; events { worker_connections 1024; } error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; http { include mime.types; default_type application/octet-stream; # 防止中文乱码 charset utf-8; # 默认为on,显示出文件的确切大小,单位是bytes。 # 改为off后,显示出文件的大概大小,单位是kB或者MB或者GB autoindex_exact_size off; # 默认为off,显示的文件时间为GMT时间。 # 注意:改为on后,显示的文件时间为文件的服务器时间 autoindex_localtime on; 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; keepalive_timeout 65; server { listen 80; server_name localhost; #配置跨域 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Headers X-Requested-With; add_header Access-Control-Allow-Methods GET,POST,OPTIONS; location / { #代理本地文件夹 root /amydata; autoindex on; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
3. 启动容器
挂载配置文件 以及 需要代理的目录,开启文件服务
对外暴露 服务器的 50000 端口 到 nginx 内
docker run -tdi --rm -v /a_nginx_conf/nginx.conf:/etc/nginx/nginx.conf -v /amydata:/amydata -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime -p 50000:80 --name nginx1 nginx
访问 即可
http://(域名)|(ip):50000
不重启修改时区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
也可以 在 启动容器时 ,指定时区
docker run -tdi --rm -v /a_nginx_conf/nginx.conf:/etc/nginx/nginx.conf -v /amydata:/amydata -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime -p 50000:80 --name nginx1 nginx