这里写目录标题

  • 安装Nginx镜像
  • 查看启动的镜像
  • 进入Nginx的CLI
  • 退出Nginx的CLI
  • 修改Nginx的配置文件nginx.conf
  • 正式开始配置nginx的静态图片映射


安装Nginx镜像

在terminal中输入:

docker run -dp 7070:80 --name nginx_server nginx

查看启动的镜像

docker ps

nginx 将文件映射出去并且不允许上传 nginx映射图片_nginx

进入Nginx的CLI

  1. 通过命令方式
  2. nginx 将文件映射出去并且不允许上传 nginx映射图片_Nginx_02

  3. 通过Dashboard方式
  4. nginx 将文件映射出去并且不允许上传 nginx映射图片_nginx_03

退出Nginx的CLI

在cli中输入:

exit

修改Nginx的配置文件nginx.conf

在terminal中输入:

  1. 将nginx.conf 拷贝到本机
docker cp  a44d906f2724:/etc/nginx/nginx.conf /Users/admin/Desktop/资料/Docker下的文件
  1. 将default.conf拷贝到本机
docker cp  /Users/admin/Desktop/资料/Docker下的文件/default.conf   a44d906f2724:/etc/nginx/conf.d/default.conf
  1. 修改完nginx.conf之后,再拷贝回docker中的nginx中
docker cp /Users/admin/Desktop/资料/Docker下的文件/nginx.conf  a44d906f2724:/etc/nginx/nginx.conf
  1. 修改完default.conf之后,再拷贝回docker中的nginx中
docker cp a44d906f2724:/etc/nginx/conf.d/default.conf /Users/admin/Desktop/资料/Docker下的文件

正式开始配置nginx的静态图片映射

  1. 下载一个nginx 到本机上,用来和docker中的nginx做目录挂载,官网地址:http://nginx.org/en/download.html 我下载的是1.18版本的。
  2. nginx 将文件映射出去并且不允许上传 nginx映射图片_nginx_04

  3. 在/Users/admin/Documents/nginx-1.18.0/目录下新建logs, conf.d文件夹
  4. nginx 将文件映射出去并且不允许上传 nginx映射图片_nginx_05

  5. 在docker上启动一个Nginx服务
docker run -dp 7072:80 --name nginx2 nginx
  1. 进入到nginx2的cli下
    将/etc/nginx/conf.d/default.conf和/etc/nginx/nginx.conf拷贝到本机的nginx目录中,方法如上。注意default.conf拷贝到刚刚新建的conf.d目录下。
  2. 修改default.conf文件, (docker下的修改此文件才会有效),查看nginx.conf文件,你会发现,它包含了default.conf文件
  3. nginx 将文件映射出去并且不允许上传 nginx映射图片_docker_06

  4. 配置default.conf如下,注意root 后面的目录是docker中的nginx下的目录。
location ~ .*\.(jpg|png|bmp|swf|mp3|mp4|wma)$ {
       root  /mnt/pic/kuais_health/file;
    }
  1. 所有配置完成之后,重新启动另一个容器,并且执行挂载
docker run -d --name nginx1 -p 7071:80 -v /Users/admin/Documents/nginx-1.18.0/conf/nginx.conf:/etc/nginx/nginx.conf  -v /Users/admin/Desktop/pic/kuais_health/file:/mnt/pic/kuais_health/file  -v /Users/admin/Documents/nginx-1.18.0/logs:/var/log/nginx  -v /Users/admin/Documents/nginx-1.18.0/html:/usr/share/nginx/html  -v /Users/admin/Documents/nginx-1.18.0/conf.d/default.conf:/etc/nginx/conf.d/default.conf   nginx
  1. 进入到docker中的nginx的/usr/sbin 目录下执行
nginx -t

出现如图,表示执行成功,配置文件语法没有错误。

nginx 将文件映射出去并且不允许上传 nginx映射图片_nginx_07

  1. 继续执行
nginx -s reload
  1. 完成之后访问
http://localhost:7071/20200423/3f12e28df62746498f6f52a80e5bd670.png

nginx 将文件映射出去并且不允许上传 nginx映射图片_nginx_08

  1. 配置生效。
  2. 另外,如果需要重新修改配置文件,直接修改本机目录下的conf.d/default.conf即可,当在图片目录新增或者删除图片时, docker下的nginx目录下的图片也会相应变化。

映射如下,本机下:

nginx 将文件映射出去并且不允许上传 nginx映射图片_nginx_09

服务器中:

nginx 将文件映射出去并且不允许上传 nginx映射图片_Nginx_10