欧云服务器 发表于 2024-11-19 22:09:48

宝塔doker容器编辑添加端口号就报错怎么办?怎么将容器内的端口暴露出来?

宝塔面板9.2.0发布以来,doker应用商店迎来了更新,能一键部署更多的应用。
问题:(解决方法看下面)
但是有的应用一键部署我们发现,他不是连接的独立数据库,而是附带创建一个数据库,如下


这个问题是oneapi、chatapi项目的问题。经过和宝塔技术的沟通,这样是为了防止端口号冲突,所以每增加端口号访问功能。需要的只能自己增加。
但是我们在宝塔容器里,编辑容器,暴露端口,只会保存失败,或者又重新创建了个不能运行的容器


现在我们无法将该数据库的内容备份出来,没辙了吗?

解决方法
其实很简单,我们将数据库端口映射出来就好了,如下图



找到右侧配置文件的compose.yaml,滑到db:开头的代码位置,下面添加端口映射代码就好了,代码如下:注意空格对其
    ports:
    - '33060:3306'左侧的33060,是服务器的ip:33060可以访问的端口号,你随便改一个30000+开头的就行,只要没被其他程序占用,右侧的3306是映射到该doker容器内部的端口号,一般数据库的话右侧这个就是默认3306,其他的看你源码要用那个端口就是哪个了。

然后到宝塔数据库添加远程数据库,就可以访问数据库,备份了



static/image/hrline/line7.png


远程连接数据库方法
至于暴露的比如我这个33060端口号,因为都在一个服务器,所以不用去宝塔安全里放行。
如果要用Navicat连接,则放行端口号33060,然后主机地址写ip:33060就行了。

为了安全,放行33060时,记得选择指定ip访问,不应该设置为全部ip,因为牵扯到数据库很危险的,容易被黑客扫瞄到攻击。
指定ip为你自己的ip,百度ip地址,就知道你的ip了,这个ip会变的,有时候连不上重新查一下就好了。

还连不上,就把数据库访问权限改为全部ip,或者也是你的ip


页: [1]
查看完整版本: 宝塔doker容器编辑添加端口号就报错怎么办?怎么将容器内的端口暴露出来?