在openwrt或群晖中用docker快速部署宝塔面板, 并搭建第一个网站

前期准备

  • 已经安装好openwrt路由器或者群晖,并能内网访问。

    • 如果没有安装,自行百度安装,推荐Homelede
  • SSH客户端(用于安装docker和进入docker管理容器)
  • openwrt需要安装好docker容器管理器,群晖直接安装docker套件即可

    • Homelede内置docker管理器,koolshare需要去商店安装。
    • 如果没安装,参考下方步骤安装docker
     # CentOS 6安装 Docker
     rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
     yum update -y
     yum -y install docker-io
     service docker start
     chkconfig docker on
# CentOS 7、Debian、Ubuntu 安装 Docker
     curl -sSL https://get.docker.com/ | sh
     systemctl start docker
     systemctl enable docker

Pull拉取镜像(配置好的docker),需要完全纯净安装请看下面的纯净安装教程

拉取前,先看下版本说明

docker pull pch18/baota

## 当然你也可以先pull一个ubuntu或者centos镜像,再进入docker使用宝塔官方的安装命令安装
## 比如
## docker pull ubuntu //拉取镜像
## docker run -tld --name myservice -p 8880:80 -p 8888:8888 -p 8443:443 -p 888:888 ubuntu
## 进入容器
## docker exec -it myservice bash
## 执行宝塔安装命令,等待出现用户名和密码

版本说明

pch18/baota或pch18/baota:latest等同 pch18/baota:lnmp
pch18/baota:lnmp 为最新版本的官方纯净安装的基础上安装nginx,mysql,php
pch18/baota:lnp 为官方版本纯净安装的基础上安装nginx,php(不内置mysql,用于外置数据库的环境)
pch18/baota:lamp 为官方版本纯净安装的基础上安装apache,php
pch18/baota:lap 为官方版本纯净安装的基础上安装apache,php(不内置mysql,用于外置数据库的环境)
pch18/baota:clear 为官方版本纯净安装, 不默认安装nginx,mysql,php等程序

比如,我只想安装纯净版,登入宝塔再自行安装环境,则运行docker pull pch18/baota:clear

创建容器

在大多数情况下,因为运营商封了常规的80,443端口,我们通过bridge模式运行宝塔镜像

如果特殊情况不能使用host网络模式(macos和windows不支持host), 使用下述命令重新以bridge网络模式运行

在个人家庭网线其实是不支持80端口和443端口的

这个时候我们需要稍微改一下命令里的端口映射

docker run \
    -tid \
    --name My_service \
    -p 8280:80 \
    -p 8243:443 \
    -p 8888:8888 \
    -p 888:888 \
    --privileged=true \
    --shm-size=2g \
    --restart always \
    -v /mnt/sda1/wwwroot:/www/wwwroot 
    -v /mnt/sde1/share:/share 
    -v /mnt/sdf1:/oliver 
    -v /mnt/sdc1:/oliver_backup 
    -v /mnt/sdd1:/oliver_download
    pch18/baota:clear

其中~/wwwroot:/www/wwwroot 为映射目录, ~/wwwroot为宿主机器的/root/wwwroot目录. /www/wwwroot为容器内宝塔默认网站目录
建好的网站都必须带端口访问,或者有条件的用自己的云服务器配置nginx反代即可。
/www文件夹建议保存在volume卷中, /www/wwwroot建议映射到宿主机的目录下,方便上传网站代码等文件

可选端口

    -p 25:25 \
    -p 110:110 \
    -p 143:143 \
    -p 465:465 \
    -p 587:587 \
    -p 993:993 \
    -p 995:995 \

安装完成后以后可以随时使用内置升级,升级到最新版本
由于面板数据都保存在持久化的卷中, 即使删除容器(不删除volumn)后重新运行, 原来的面板和网站数据都能得到保留
启动容器时自动启动所有服务

登录方式

登陆地址 http://ip:8888
初始账号 username
初始密码 password
由于docker镜像的特殊性,随机密码是安装面板的时候生成的,
所有用户的随机密码其实都相同,没有随机的意义,
为了方便部署,已经去除安全入口,且设置成上述密码,
请大家登陆后第一时间修改账号密码!!

如果出现密码错误
在宿主机器输入命令
docker exec -it My_service bash
进入容器
bt
选择修改密码即可

这时候就可以愉快(苦逼)的开启建站之旅了

删除容器

docker rm -fv My_service

进入容器

docker exec -it My_service bash

创建网站

登录后台,在网站管理里添加自己的网站即可。

建好的网站请使用映射端口访问

openwrt完全纯净版安装

以ubuntu为例,先pull,拉取ubuntu镜像

pull ubuntu
创建容器
docker run \
    -tid \
    --name My_service \
    -p 8280:80 \
    -p 8243:443 \
    -p 8888:8888 \
    -p 888:888 \
    --privileged=true \
    --shm-size=2g \
    --restart always \
    -v /mnt/sda1/wwwroot:/www/wwwroot #挂载磁盘,请删掉此注释
    ubuntu:latest

然后使用命令进入容器

docker exec -it My_service bash

接着就是正常的宝塔安装流程了

apt update
### 更新和安装必要功能
apt install curl
### 愿意安装到老版本风险的前提下执行
curl -sSO http://download.bt.cn/install/install_panel.sh && bash install_panel.sh

然后正常进入安装流程

群晖纯净安装只需要在docker注册里下载个ubuntu即可

启动容器时映射好几个主要端口,[888,8888,443,80],及挂载好存储空间就行

最后修改:2022 年 09 月 08 日
如果觉得我的文章对你有用,请随意赞赏