云原生尝试——docker容器域名绑定

本文介绍了如何在docker容器中配置域名和实现https访问,重点讨论了nginx配置的关键作用。通过服务器上的nginx配置文件映射到docker容器,解决因容器化导致的环境差异问题,实现了容器内的应用对外的域名访问。同时,提到了Vue项目部署时的nginx配置调整,以避免静态文件冲突。
摘要由CSDN通过智能技术生成

docker容器域名绑定

1.引言

上一篇文章 主要是用实践的方式总结了如何去构建镜像,推送拉取运行镜像,现在来解决前一篇文章中遇到的问题:为容器增加域名。你如果说站在一个黑客的角度来看,域名要不要问题不大,因为ping一下基本就出来了。确实,但是我们写的网站都是面向用户的,如果你这儿直接是个ip用户多少会觉得怪异。于是本着强迫症的心里,我花了大概一天的时间反复对着服务器鞭尸,终于找了解决问题的关键——nginx

2.为什么问题的关键变成了nginx

你如果有时间可以看看我这个探索的过程,时间紧迫可以直接跳过。看了好多文章发现问题的根本还是这个nginx的配置不太明白,于是想了个方法,在宝塔面板里面有nginx的配置方法,用的是GUI,点两下就行,只要找到对应的nginx的conf配置文件文件就行:
在这里插入图片描述
首先用GUI配置一下https域名访问:
在这里插入图片描述
开启访问如下:
在这里插入图片描述
好的现在域名https解析配置好了:
在这里插入图片描述
接下来就到了分析:
在这里插入图片描述
接下来可能你想说,懂了,那我就在docker里面搞一个nginx,然后将这个nginx的配置文件给复制进去,建立相关的文件夹,然后把需要用到的ssl的公钥和私钥以及必要的日志打印文件给建好,毕竟在没有宝塔面板的情况下配个域名和https访问也不至于不能实现。虽然过程可能有些痛苦,但理论可行。很遗憾的告诉你,这其实是一个错误的思路,除了过于复杂外,还违背了docker的初衷。docker本来就是想轻量化,我其实按照这个思路尝试过,由于自己Linux指令不熟以及对nginx不是很了解,因此还是比较痛苦的,并且我发现进入nginx容器的内部环境,前面也说过这里面其实就是一个小的Linux环境,为了节省内存开销和提供资源重用性,docker去掉了很多传统Linux镜像具有的功能,例如vim等基础工具包,还需要自己下载,为了编辑文件下载这个然后删除(且不说删除方法的问题),属实太麻烦了。
其实,是有更好的解决方法的,虽然容器与服务器主机之间貌似没有多余的交互,除了一个端口映射外,其实是可以使用文件映射的。因为咱这篇主要是针对应用的,所以很多理论知识就先不谈。其实是可以将我们下载的nginx的配置文件直接映射到使用服务器主机上的nginx的配置文件。之所以使用docker,主要还是防止版本等的冲突造成项目部署出现“奇奇怪怪”的问题。但是及时软件(nginx)更新了,软件也不至于会影响前一个版本的配置(使用方式)。一般情况下,都是提高软件本身的性能和稳定性。
按照上面的这个方法,就需要首先找到nginx在服务上的配置文件的具体位置了。找的话比较好找,进入nginx软件下面找nginx.conf文件就行:
在这里插入图片描述
咱也不多说了,这里存在最大的问题是,直接将nginx文件映射之后,由于我服务器使用的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值