前言:群晖自带的 Docker 容器中有很多宝塔面板的版本,并且环境已经预装好。然而,一般在创建容器后会遇到各种错误。因此,最佳的方式是创建一个 CentOS 容器,然后在其中拉取官方版本的宝塔面板。
步骤一:拉取 CentOS 镜像
- 进入 Docker 注册表,搜索并拉取 CentOS 镜像。
- 创建 CentOS 容器目录。
步骤二:开启 Open vSwitch 功能
为了使 CentOS 容器与群晖共享局域网,便于搭建网站,需要开启群晖自带的 Open vSwitch 功能。
步骤三:创建 macvlan 网络
通过 SSH 连接到 NAS,并创建 macvlan 网络:
查看网关和 IP 段:
netstat -nr | grep default
例如,返回结果为:
default via 192.168.0.10 dev ovs_eth0 src 192.168.0.109
其中 192.168.0.10
是网关,192.168.0
是 IP 段,ovs_eth0
是网络接口名称。
- 创建 macvlan 网络:
docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.10 -o parent=ovs_eth0 bridge-host
- 如果输入有误,删除网络:
docker network rm bridge-host
步骤四:配置 CentOS 容器
- 创建 CentOS 容器并查看详情以获得 IP 地址。
- 如果不喜欢在容器内操作,可以配置 CentOS 的 SSH 登录。安装 SSH 服务:
yum install passwd openssl openssh-server -y
启动 SSH 服务:
/usr/sbin/sshd -D
如果提示文件不存在,执行以下命令:
ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N '' ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N '' sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config
再次启动 SSH 服务:
/usr/sbin/sshd -D &
尽管会提示
WARNING: 'UsePAM no' is not supported in Red Hat Enterprise Linux and may cause several problems.
,按回车键继续执行启动即可。
/usr/sbin/sshd -D
修改 SSH 密码:
passwd
步骤五:安装宝塔面板
拉取宝塔官方版本:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
如果出现 URL 不存在错误,解决方法如下:
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* yum install PACKAGE
安装成功后,再次安装宝塔即可。
宝塔安装成功后,返回的内网登录地址即为宝塔网址。为了安全,删除安全入口:
rm -f /www/server/panel/data/admin_path.pl
然后,你可以通过 CentOS IP 加上宝塔端口愉快地使用宝塔面板了。