第一步、用docker拉取nginx镜像

docker pull nginx

第二步、先简单nginx运行起来,方便后面我们拷贝容器内部的nginx配置文件。

docker run -d -p 80:80 nginx

第三部、

1、拷贝容器内的nginx配置文件到宿主机做挂载,我们以后编辑nginx配置文件都在宿主机修改,不用去docker中去修改。首先说明之前用普通方式装的nginx只需在一个配置文件nginx.conf 中修改,现在在docker容器内部nginx有两个配置文件,nginx.conf 和default.conf ,所以要把这两文件都取出来才行。

查看nginx容器的ID

docker ps

dockerfile nginx dockerfile nginx静态文件_nginx


2、执行拷贝命令

docker cp a7d8790e3e58:/etc/nginx/nginx.conf ~/nginx/conf/

docker cp a7d8790e3e58:/etc/nginx/conf.d/default.conf ~/nginx/conf.d/

3、去查看我们的文件有没有拷贝出来

dockerfile nginx dockerfile nginx静态文件_dockerfile nginx_02

dockerfile nginx dockerfile nginx静态文件_nginx_03


4、现在我们删除nginx容器,重新执行挂载

先停止容器,在删除

dockerfile nginx dockerfile nginx静态文件_nginx_04


第四步、重新运行nginx镜像,执行挂载命令(默认端口为80,我这里怕端口冲突改为7000,提前在default.conf中改好)本地目录提前建好。

dockerfile nginx dockerfile nginx静态文件_nginx_05


保证有default.conf 和Nginx.conf文件

dockerfile nginx dockerfile nginx静态文件_配置文件_06


第五步、编辑要访问的静态资源路经

dockerfile nginx dockerfile nginx静态文件_nginx _07


第六步、启动nginx

执行命令:

docker run -d --name nginx1 -p 80:80

-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf

-v /mnt/data:/mnt/data

-v /root/nginx/logs:/var/log/nginx

-v /root/nginx/html:/usr/share/nginx/html

-v /root/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf nginx

注意:很重要!!!

第一个 -v 是将:后面的容器内的文件挂载到宿主机上,也就是说用宿主机的配置来代替容器内的配置,更改宿主机的配置相当于是改容器内的配置,这样的话加入容器被删除了,也不会丢失我们的配置文件,第三个 -v /mnt/data:/mnt/data 是将我们在default.conf中配置的静态资源配置,挂载到宿主机外,我们修改的配置文件指定的静态资源路径是指到容器内部的,到时候会去容器的目录下找,所以我们要把容器内部的静态资源挂载出来,让他去宿主机去找这样才能访问到!!!切记!!!!!!

我们提前在/mnt/data/ 存放我们的图片资源。在浏览器访问

dockerfile nginx dockerfile nginx静态文件_dockerfile nginx_08


在浏览器访问http://10.211.55.4/1568256319711.jpg

dockerfile nginx dockerfile nginx静态文件_nginx _09


(有时候访问端口没有nginx的首页,记得吧nginx的index.htm文件拷到root/nginx/htm中)

dockerfile nginx dockerfile nginx静态文件_dockerfile nginx_10


好啦,成功!!!要说的就是这么多。。。。。。。。。。。。