一、配置我们的nginx
(1)配置文件
首先我们需要先知道,nginx是怎么工作的,nginx有两个配置文件,conf.d 和 nginx.conf其中conf.d是个文件夹,里面有个文件是default.conf
他们的地址分别为:
/etc/nginx/conf.d
/etc/nginx/nginx.conf
为什么我要提这一嘴呢,因为我们需要对这两个文件进行配置操作,满足我们后续的需求,而在docker中呢下载的nginx镜像是进行缩减过的,只保留了基础的功能,所以我们如果没有使用docker file生成镜像时对nginx进行基本配置是无法在里面使用vi和vim功能和其他一些所需的操作功能,而且就算有我们每次需要进去配置也是比较的不方便,所以我们需要进行数据卷操作,使我们能够更加简单的方便的来操作docker里的服务。
(2)配置网页
这里我需要让我的网址当用户进入是判断是手机用户还是电脑用户然后自行跳转相应的页面。
(3)操作
所以我们需要创建两个文件夹
然后把自己准备好的打包好了的网页放进来
像这样
接下来就去操作配置文件了。
像我这样创建几个文件夹和文件。这个创建语法这里就不赘述了。然后我们就可以把这几个配置文件给配置一下了。这里先解释一下这几个文件的用途,conf.d是个文件夹,里面有个文件叫default.conf和nginx.conf文件一样是nginx的配置文件,我们可以在这两个文件中书写一些你所需的配置,像啥负载均衡啊,代理,重写跳转页面啥的都是在这配置。当然我们这里是要通过数据卷和nginx里的配置文件连起来使其生效。这里需要注意一点当我们挂载的是文件时,我们需要给文件设置权限不然容器里的文件内容不会随着主机更改而更改chmod 777 nginx.conf。logs文件夹里是日志文件,可以让我们获取到nginx的日志。
建议:尽量挂载目录而不是挂载文件!
nginx.conf文件中,我这里进行如下操作。
意思就是当用户端访问时判断是手机端还是pc端然后跳转到相应的界面。conf.d文件夹中的default.conf也可以进行配置。另外的logs文件夹就不需要去操作了。
(4)docker run
接下来我们就可以运行这个容器了,使用docker run命令。
docker run -d -v /home/nginx-music/html/pc:/usr/share/nginx/html/pc -v /home/nginx-music/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx-music/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx-music/html/mo:/usr/share/nginx/html/mo -v /home/nginx-music/nginx/logs:/var/log/nginx -v /home/nginx-music/nginx/logs:/var/log/nginx -p 80:80 --name nginx-music-v1.0 nginx
将对应的主机目录和容器目录或文件进行挂载即可。设置端口映射,命名,后台执行,镜像名。这些命令不理解的话可以看我上两篇文章。
(5)查看是否成功
我们可以先通过docker exec -it nginx-music-v1.0 /bin/bash这个命令进入我们的nginx容器进行检测,使用nginx -t先进行测试看看我们的nginx.conf文件的配置语法有无错误
原文连接