Docker部署宝塔小记

前言

家里的 NAS 里之前装了一个宝塔官方版的 Docker 镜像,基于CentOS的,
体积1.7G不说,总是有一些小毛病,之前一直将就着用,终于我忍无可忍,无需再忍。决定自己从头搭一个纯净的环境。

Docker 安装Ubuntu

直接使用最新版的 ubuntu:latest 映像,大概74MB左右。
我自己的映射如下:

-p 1022:22 -p 8888:8888 -p 8080:80 -p 1443:443
// 分别对应 ssh 宝塔 http https端口

-v /docker/baota/wwwroot:/www/wwwroot
-v /docker/baota/mysql:/www/server/data
// 分别对应 wwwroot 网站目录和 mysql 数据目录

启动后进入容器内终端,安装 ssh 等常用的服务:

apt-get update
apt-get install vim
apt-get install openssh-server openssh-client

启动 ssh 服务

/etc/init.d/ssh start

允许 root 账户登录

vim /etc/ssh/sshd_config
# 增加一行
PermitRootLogin yes

修改后重启 ssh 服务

service ssh restart

设置 root 账户密码

passwd root

此时,可以退出 docker 终端机,使用 ssh 连接(注意 ssh 端口在上面 已经修改成了1022)

安装宝塔环境

宝塔的广告越来越多,导致我越来越厌恶宝塔了,直到我发现了还有宝塔开心版,我又重新爱上宝塔了。
ssh 中安装你想要安装的宝塔,之后静等安装完成(也许是这个 Ubuntu 的镜像比较干净,有一些组件系统都没有自带,所以安装时间比平时久一点)。
安装后,由于现在的宝塔面板是随机端口,我们当时映射了 8888 端口,所以需要手动修改端口成8888:

bt 8
# 然后提示输入新的端口号

安装Pip3

此时系统内已经包含 Python3 ,但是还有没有 pip3 ,如果你用得到的话,可以自行安装

apt install python3-pip

开机自启动

由于 Docker 内是没办法执行 systemctl 的,所以很多开机启动的任务都没法设置,这里我们通过修改 .bashrc 来间接实现开机自动启动。

新建一个开机启动任务的脚本

cd /root
touch startSh.sh 
chmod +x startSh.sh
vim startSh.sh

.bashrc 中,因为开机和 ssh 登录都会执行,所以在这个脚本中,通过检测下 ssh 服务没有运行的时候才继续执行,脚本内容如下:

#!/bin/bash

status=$(service ssh status)

if [[ "$status" == *"not running"* ]]; then

    service ssh start # 启动 ssh 服务
    bt start # 启动宝塔
	
    # 启动 web 服务
    /etc/init.d/nginx start
    /etc/init.d/mysqld start
    /etc/init.d/redis start
	
fi

最后把脚本加在.bashrc 的最后一行

if [ -f /root/startSH.sh ]; then
    /root/startSH.sh
fi

到这里,基本没什么大问题了,如果有什么毛病欢迎留言指导。

发表评论
评论
大雄回复
2023-12-29 13:04macOSChromeIP:广东
高级啊,沙发.
关关回复
2023-12-29 13:16macOSChromeIP:江苏
低端低端
Mr.Chou回复
2024-01-03 21:03Windows 10EdgeIP:广东
我刚看到这域名,我第一想到..以为你的博客改版了呢。 现在看到你在留言,才知道是两个人..哈哈。域名相似度蛮大。
阿俊回复
2023-12-29 14:59Windows 10ChromeIP:广东
高端啊,二楼卖瓜子。
obaby回复
2024-01-02 13:08macOSChromeIP:山东
所以是nas装了个 ubuntu ,ubuntu 装了个宝塔?
关关回复
2024-01-02 13:13macOSChromeIP:江苏
对,因为有一些脚本要跑,所以用docker部署了一个ubuntu,尽量不折腾宿主机
大雄回复
2024-01-06 11:20iOSSafariIP:澳门
来自澳门地区的评论
关关回复
2024-01-08 11:22macOSChromeIP:江苏
高端,使我博客的档次瞬间提高了
Tokin回复
2024-01-12 12:47Windows 10EdgeIP:上海
彻底放弃宝塔
阿俊回复
2024-01-18 10:32Windows 10ChromeIP:广东
放弃的好!
关关回复
2024-01-18 16:01macOSChromeIP:江苏
不考虑试试开心版吗,自从用了开心版,我心情顺畅多了