群晖NAS开启局域网桥接docker部署centos系统安装宝塔面板

群晖NAS默认的网络模式是bridge桥接和本机host这两个模式,我们需要开启macvlan网络模式让容器能获得局域网IP,这样使用宝塔面板方便点。

群晖开启虚拟交换机功能

Bridge:docker容器内部虚拟网桥,容器内部172.17.0.X网段 无法获取主机网络ip 访问容器需要映射端口 并且不能和主机占用端口冲突 不映射端口无法使用

Host:host模式 将容器绑定到主机网卡使用主机的ip 并且不能和主机占用端口冲突 使用哪些端口自动占用

bridge-host:通过主机的虚拟网卡来创建虚拟网桥 将容器的网卡绑定到这个直通局域网的虚拟网桥上

启用虚拟交换机
启用虚拟交换机

🔺控制面板→网络→网络界面→管理→启用Open vSwitch 这一步意思是开启虚拟交换机功能

SSH连接NAS创建macvlan网络

使用ssh工具或者命令:ssh 账号@IP地址 连接群晖NAS然后执行下面命令:

群晖切换root账户

sudo –i

下面这一步很重要,很多教程没有讲到。

ip addr

查看一下自己网络(NAS的ip)用的接口,一般是ovs_eth0 我这里是ovs_eth1

执行创建网络命令

执行创建网络命令,指令根据自己的IP网段修改,我的IP网段为192.168.100.X,网关地址为192.168.100.1,根据自己的情况修改。

docker network create -d macvlan --subnet=192.168.100.0/24 --gateway=192.168.100.1 -o parent=ovs_eth1 bridge-host

Docker安装centos7

其实也有Docker版本的宝塔可以安装,我没用过,还是习惯在chentos7系统里安装bt面板,这样兼容性可能更好。

先打开群晖的Docker软件,注册表搜索centos下载后,运行镜像版本选择7.9,设置更改两个地方。

挂载文件
挂载文件

🔺在docker文件夹下创建一个centos文件夹然后挂载路径/data/

使用bridge-host模式
使用bridge-host模式

🔺高级设置里面指定一下网络模式为bridge-host,其他默认即可,下一步创建,我这里保持默认按顺序分配IP地址

注意:如果创建Docker容器的时候使用bridge-host网络模式,并不手动指定IP的话,默认会从192.168.x.2按照顺序排列下去。

指定IP的方法,需要ssh连接nas后使用命令:

docker run -itd --restart=always --network bridge-host --ip 192.168.100.5 --name centos7.9 centos:centos7.9.2009

解释:启动镜像centos:centos7.9.2009容器命名为centos7.9并使用bridge-host网络手动分配192.168.100.5的IP地址

安装宝塔面板7.7

在docker容器中打开安装好的centos7的终端机

终端机
终端机

这里使用btpanel-v7.7.0-backup 官方原版v7.7.0版本面板备份,不需要绑定手机号。

执行下面命令安装BT面板:

curl -sSO https://raw.githubusercontent.com/8838/btpanel-v7.7.0/main/install/install_panel.sh && bash install_panel.sh

如果上面无法下载,使用这个备份链接,适用于不能访问GitHub的服务器。

curl -sSO http://d.moe.ms/AAAAA/btpanel-v7.7.0/install/install_panel.sh && bash install_panel.sh

手动破解:

  1. 屏蔽绑定手机号
sed -i "s|bind_user == 'True'|bind_user == 'XXXX'|" /www/server/panel/BTPanel/static/js/index.js
  1. 删除强制绑定手机js文件
rm -f /www/server/panel/data/bind.pl
  1. 手动解锁宝塔所有付费插件为永不过期 文件路径:/www/server/panel/data/plugin.json 先登录BT面板,搜索字符串:"endtime": -1全部替换为"endtime": 999999999999
  2. 给plugin.json文件上锁防止自动修复为免费版
chattr +i /www/server/panel/data/plugin.json

如果报错:bash: chattr: command not found

这个错误通常表示您的系统上没有安装chattr命令。chattr命令用于更改文件或目录的属性。您可以尝试使用以下命令安装chattr命令:

对于Debian/Ubuntu系统,请使用以下命令:

sudo apt-get install e2fsprogs

对于CentOS/RHEL系统,请使用以下命令:

sudo yum install e2fsprogs

搞定!有了宝塔面板后就可以在本地部署一些WEB服务了,如导航页、博客什么的。


$打赏
有任何疑问欢迎关注公众号:"我有一头鲸" 咨询!