事情起因,我在b站看见一个视频:
https://www.bilibili.com/video/BV13W4y1F7FU/
视频中提到了【我们是使用了容器技术运行了一个完整的宝塔】,于是我想到了之前出现了一个bthost虚拟主机销售系统,但是视频中的销售地址我打不开,并没有去体验但是看见视频中绑定域名还是虚拟主机的模式,并没有演示其他功能。
思路:
我也没有办法去深度研究它是怎么运行的,我是个不懂技术的人,下面是我个人设想 我想的是使用docker容器安装多个宝塔,只把宝塔登陆端口映射出来 方便用户使用,如果总服务器有多个IP给每一个容器单独分配一个IP,或者单独销售内网服务器,用户需要使用外网需搭配内网穿透服务。再或者拿出一台服务器反向代理,每一个容器都需要使用80端口,把80端口映射给服务器一个固定端口,再反向代理80端口去代理这个固定端口实现每一个的容器都能使用80端口,如果容器使用其他的端口也是同道理,毕竟Linux可以开放6w+的端口。
按照我的这个反向代理思路就是,服务器a是开通容器的,服务器b就是反向代理,容器1需要使用80端口,把80端口映射给服务器a的801端口,服务器b反向代理服务器a的801端口对外就是80端口。如果容器1需要使用7788端口,把7788映射给8010端口,服务器b反向代理服务器a的8010端口,对外就是7788端口。
使用教程:
首先安装Docker和Docker-Compose:https://k7blog.com/NVEpVnWHFmd
然后安装一个Dockge:一个美观、易用的 Docker Compose 管理平台
打开IP+5001端口,创建管理员用户并且登陆,右上角点击Compose创建一个容器模板。
compose.yaml填写下面的内容,因为宝塔的docker镜像默认端口是8888,如果外面映射是8881,那么下面的ports就要填写8881:8888。
version: "3.8"
services:
baota:
image: btpanel/baota
restart: unless-stopped
ports:
- 8888:8888
networks: {}
容器运行起来了,可以使用IP+端口访问宝塔了,默认安装的好像是7.9.4正式版,登陆需要宝塔官方账号密码才能使用,我直接安装了破解版。点击bash进入终端。

输入下面的命令把宝塔更新到最新破解版:
curl http://io.bt.sy/install/update6.sh|bash
貌似默认生成的密码是个错的,并且这个Dockge的终端不能粘贴,命令只能手动输入,执行bt 5修改密码,再执行bt 14查看宝塔默认信息,再重启一下容器(不重启容器宝塔无法软件)教程就到这里结束了!
折腾计划:
我用vultr开了个高性能的4h16g服务器120刀一个月,目前我要折腾一下下面的计划并且写出后续:
- 单独的容器使用内网穿透能否正常访问外网。👌
- 宝塔容器功能能否正常使用。👌
- 测试部署PHP,java,node,go等项目。👌
- 容器之间是否会影响。👌
- 性能使用情况如何。👌
使用我上面所说的反向代理模式做代理测试。
至于我为什么折腾,主要是最开始接触互联网的时候,当时有特别多大佬免费分享优质的资源并且提供免费的虚拟主机给我们这些小白玩,并且有很多好玩的开源项目,玩着玩着也想着为互联网出一份微薄之力。如果我说的东西行的通刚好我有一些年费的空闲服务器可以给大家免费使用去玩耍。
折腾后续:
后续一:
目前折腾了1. 单独的容器使用内网穿透能否正常访问外网。和 5. 性能使用情况如何。
我根据教程:https://www.ywbj.cc/?p=985搭建了一个简单的内网穿透,穿透成功 但是我的域名都是添加了cf的cdn,使用了完全加密协议,浏览器-cf服务器-源服务器都要ssl证书,浏览器-cf服务器这一部分是cf负责,cf服务器-源服务器的证书需要我自己负责,我在容器里面添加了证书但是不起效果。这目前是一个需要解决的问题。
然后就是性能情况,这个不算测试成功了吧,我的宿主机就安装了docker,开通了三个容器 每个容器都安装了nginx和mysql,并且把mysql的优化方案设置了8-16G,目前使用了2.5g左右的内存,储存空间使用了22.5g左右。内存还是吃的比较严重的,我的私人服务器安装了nginx和mysql还跑了Cloudreve网盘和好几个docker容器都只用了1.5g左右。
等下一次折腾我就测试我上面说的反向代理模式是否可行。
后续二:
大晚上碎不着,然后开了一台8h16g的服务器继续测试,目前测试的是3. 测试部署PHP,java,node,go等项目。
搭建了一个Cloudreve的网盘项目,目前执行起来没问题,就是第一次在使用容器宝塔终端的时候会卡顿几分钟,后面再使用就好了。
然后搭建了一个WordPress博客,测试也是没有问题的,目前来看其他的java项目go项目部署起来都是没有问题的。(我还安装了docker想着套娃结果docker跑不起来。)
目前来看容器宝塔的大部分功能都是没问题的,除了使用小部分的系统功能会报错,毕竟我使用的是破解版的宝塔面板。然后就是容器之间是否会影响,目前我是没有遇到过这样的情况,我最担心的会出现文件乱窜的情况并没有发生。唯一的缺点就是内存使用的比较多,其他的都是还好,后续我打算设置一个脚本可以自动开通容器宝塔并且升级到破解版。
目前我是空闲的比较多的服务器,但是都是4h4g的比较垃圾的服务器,我测试使用高配并且计算型的服务器。于是我想到了我之前写的一篇文章没钱还想玩高配服务器,Linodes的100美金真的超爽! 到时候我可以去花一点小钱购买一些白嫖账号开通服务器,再来执行容器宝塔,再研究一下爱frp内网穿透的管理面板,淘一个线路比较好的服务器或者收集一些免费的穿透服务,免费给大家使用 又满足了服务器可玩的扩张性,又能像正常机器一样公网使用,只不过玩起来麻烦一点,毕竟是免费的嘛!
后面我发现了我的反向代理思路和内网穿透的效果一样,只不过可以解决掉我测试中证书的问题,其他的我就不测试了。目前这篇文章就写到这里了,也折腾到这里了,接下来就是去折腾怎么自助开通容器宝塔给大家使用了。不会写代码到时候只能让chatgpt代劳了,如果我弄不出来估计这个计划就会弃坑了。等待我的后续操作!!!