Update do_docker.sh

This commit is contained in:
悟空的日常镜像仓库 2024-03-25 22:59:34 +08:00
parent 3fc95bfc16
commit 772411708d
1 changed files with 55 additions and 21 deletions

View File

@ -134,7 +134,7 @@ configure_and_start_docker() {
install_docker
configure_docker_to_start_on_boot "$new_partition" "$usb_mount_point"
start_docker_and_check
}
# 安装 Docker 和 dockerd
@ -180,15 +180,50 @@ EOF
chmod +x /etc/init.d/docker
/etc/init.d/docker enable
green "正在设置开机启动顺序的配置\n\n先挂载U盘,再启动Docker 修改/etc/rc.local后如下\n"
# 首先,备份 /etc/rc.local
cp /etc/rc.local /etc/rc.local.backup
# glinet系统重启后的 USB自动挂载点
SYSTEM_USB_AUTO_MOUNTPOINT="/tmp/mountd/disk1_part1"
# 卸载USB自动挂载点 挂载自定义挂载点 /mnt/upan_data
if ! grep -q "umount $SYSTEM_USB_AUTO_MOUNTPOINT" /etc/rc.local; then
sed -i '/exit 0/d' /etc/rc.local
# 将新的命令添加到 /etc/rc.local然后再加上 exit 0
{
echo "umount $SYSTEM_USB_AUTO_MOUNTPOINT || true"
echo "mount $new_partition $usb_mount_point || true"
echo "/etc/init.d/docker start || true"
echo "exit 0"
} >>/etc/rc.local
fi
cat /etc/rc.local
# 修改 /etc/config/dockerd 文件中的 data_root 配置
sed -i "/option data_root/c\ option data_root '/mnt/upan_data/docker/'" /etc/config/dockerd
# 安装完毕后
yellow "正在帮您启动Docker....若出现卡住现象 20s都没反应。建议手动重启路由器"
/etc/init.d/docker start
# 初始化计数器
counter=0
# 循环检查 Docker 守护进程是否已经启动
until docker info >/dev/null 2>&1; do
counter=$((counter + 1))
echo "Waiting for Docker daemon to start..."
sleep 1
# 如果等待时间达到10秒则跳出循环
if [ $counter -eq 10 ]; then
red "Docker 启动失败或超时,您可以手动启动docker 执行 /etc/init.d/docker start"
exit 1
fi
done
check_docker_info
}
# 启动 Docker 并检查
start_docker_and_check() {
/etc/init.d/docker start
sleep 5
if ! docker info >/dev/null 2>&1; then
red "Docker 启动失败,您可以手动启动docker 执行 /etc/init.d/docker start"
else
check_docker_info() {
green "Docker 启动成功并设置正确,您可以直接使用啦~\n"
DOCKER_ROOT_DIR=$(docker info 2>&1 | grep -v "WARNING" | grep "Docker Root Dir" | awk '{print $4}')
light_magenta "当前Docker根目录为: $DOCKER_ROOT_DIR"
@ -202,7 +237,6 @@ start_docker_and_check() {
else
yellow "您选择了不重启"
fi
fi
}
# START