前言:目前主流的开发模式是前后端分离,前端也会单独打包进行部署,一般就是把前端打包好的文件放到nginx目录下,和nginx一起部署,最终通过nginx来访问。
通用的dockerfile文件,用来构建nginx镜像
FROM nginx
COPY webapp /usr/share/nginx/webapp
RUN mkdir /etc/nginx/servers
RUN sed -i '16i\include servers/*.conf;' /etc/nginx/nginx.conf
EXPOSE 80
from nginx 后面没有带版本,那么默认就是拉取最新版本。
rancher部署nginx服务
我这里已经部署好了,现在可以用升级模式来进行讲解每一步的配置。
1. 名称与负载类型
名称就是服务的名称。
2.镜像与命名空间
这里的镜像可以填写远程harbor服务器端的镜像地址,但是这里要先配置好镜像库凭证,它才能从harbor服务器上进行拉取。
镜像库凭证配置如下:
这里依次把方框中的内容配置好,注意地址可能需要配置内网的harbor地址。
3.端口映射
选择所有主机端口均可访问即可,默认80端口。
4.环境变量、主机调度、健康检查等其他的默认配置即可。
5. 数据卷配置
数据卷配置这里要额外说一下,就是一般nginx里面的nginx.conf我们是要挂载出来,容器跑的时候是走的外部我们配置的nginx.conf内容,而不是容器本身自带的默认的配置。这样方便我们随时对nginx.conf里面的内容进行调整。
这里用到配置映射这样一种方式,即configMap。
新增一个配置映射
这里的值就是nginx.conf文件里面的内容,到时候我们会用这个内容去覆盖原始nginx镜像里面的nginx.conf
添加配置映射卷,按如下格式进行配置。
注意:容器路径为固定写法。键后面的路径也要写,不然发布会一直报错。这里就填nginx.conf就行。
这些都配置完了,启动应该就可以了。