注:默认在root用户下操作
一、下载镜像(不指定版本号默认下载最新版本,指定版本可参考百度)
docker pull nginx
查看本地的镜像
docker images
二、给要挂载的数据在本地创建相应的文件夹(若有可用的则不用创建)
1、mkdir -p /home/tool/nginx/conf
2、mkdir -p /home/tool/nginx/html
3、mkdir -p /home/tool/nginx/log
三、先启动镜像生成容器 用于拷贝配置文件使用(用后删除即可):
docker run --name nginx -d -p 80:80 nginx
四、拷贝容器中的配置文件到本地(logs不用拷贝直接挂载即可):
1、docker cp 容器id:/etc/nginx/nginx.conf /home/tool/nginx
2、docker cp 容器id:/etc/nginx/conf.d/ /home/tool/nginx
注:cp 容器id:目标路径:本地路径
注:查看容器id,若拷贝用的容器不打算继续使用删除即可 start
1、使用docker ps 查看正在运行的容器\或者使用docker ps -a 查看所有容器 获得容器的id
2、删除 docker rm 容器id(若正在运行可以使用docker rm -f 容器id 进行删除,但建议使用 docker stop 容器id 停止后再进行删除)
注:查看容器id,若拷贝用的容器不打算继续使用删除即可 end
五、启动并将指定内容挂载到本地:(-v 本地路径:容器路径。-p 服务器端口:容器端口 )
docker run -d -p 80:80 \
-v /home/tool/nginx/html:/usr/share/nginx/html \
-v /home/tool/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /home/tool/nginx/conf.d:/etc/nginx/conf.d \
-v /home/tool/nginx/logs:/var/log/nginx nginx
六、浏览器输入ip进行访问(若是80端口则url只写ip即可)
访问发现404,这是因为将html挂载到了本地,而本地只是创建了个文件夹。
七、发布uni-app类型的前端项目项目
1、将前端的项目上传到第二步创建的html文件夹下面
2、在文件夹conf.d下面的default.conf配置文件中的 location
选项配置nginx的index路径
其中:root选项 /usr/share/nginx/html 是已经挂载到了本地,无需修改。
直接补全html后面的路径即可。
至于在index选项中,为什么不将h5配置到root选择中,我这边是因为页面访问css与js等资源路径的问题。实际使用中可以按需配置。
3、二次访问url,页面已经可以正常显示了
八、二次启动使用 docker start 容器id 即可