68 lines
1.7 KiB
Bash
68 lines
1.7 KiB
Bash
#!/bin/bash
|
||
echo "Looking Glass 安装脚本 (修复版)"
|
||
|
||
# 检查 Docker
|
||
if ! command -v docker &> /dev/null; then
|
||
echo "错误: 请先安装 Docker"
|
||
exit 1
|
||
fi
|
||
|
||
# 停止并删除旧容器
|
||
docker stop looking-glass 2>/dev/null
|
||
docker rm looking-glass 2>/dev/null
|
||
|
||
# 方法1: 使用特权模式
|
||
echo "尝试方法1: 使用特权模式..."
|
||
docker run -d \
|
||
--name looking-glass \
|
||
--privileged \
|
||
-p 801:80 \
|
||
--restart unless-stopped \
|
||
wikihostinc/looking-glass-server
|
||
|
||
sleep 2
|
||
|
||
# 检查是否成功
|
||
if docker ps | grep -q looking-glass; then
|
||
echo "✓ 方法1成功!"
|
||
else
|
||
echo "方法1失败,尝试方法2..."
|
||
docker rm looking-glass 2>/dev/null
|
||
|
||
# 方法2: 使用 systemd 模式的 cgroup
|
||
docker run -d \
|
||
--name looking-glass \
|
||
--cgroupns=host \
|
||
--volume /sys/fs/cgroup:/sys/fs/cgroup:ro \
|
||
-p 801:80 \
|
||
--restart unless-stopped \
|
||
wikihostinc/looking-glass-server
|
||
|
||
sleep 2
|
||
fi
|
||
|
||
# 检查最终状态
|
||
if docker ps | grep -q looking-glass; then
|
||
echo "✓ 安装成功!"
|
||
echo "访问地址: http://$(hostname -I | awk '{print $1}'):801"
|
||
else
|
||
echo "安装失败,尝试方法3: 使用简单模式..."
|
||
docker rm looking-glass 2>/dev/null
|
||
|
||
# 方法3: 最简模式
|
||
docker run -d \
|
||
--name looking-glass \
|
||
-p 801:80 \
|
||
wikihostinc/looking-glass-server
|
||
|
||
sleep 2
|
||
|
||
if docker ps | grep -q looking-glass; then
|
||
echo "✓ 方法3成功!"
|
||
echo "访问地址: http://$(hostname -I | awk '{print $1}'):801"
|
||
else
|
||
echo "❌ 所有方法都失败,请检查系统日志:"
|
||
docker logs looking-glass
|
||
fi
|
||
fi
|