昨天部署了两台开源堡垒机jumpserver时遇到docker无法下载部分镜像导致安装失败解决方法。

以下是安装命令,记录留档。
cat /etc/centos-release
df -h
umount /home/
fuser -km /home
lvremove /dev/mapper/centos-home
vgdisplay
lvextend -L +140G /dev/mapper/centos-root
xfs_growfs /dev/mapper/centos-root
mount -a
vi /etc/fstab修改或者直接运行 sed -i '//home/s/^/# /' /etc/fstab
mount -a
cd /opt/
wget https://resource.fit2cloud.com/jumpserver/installer/releases/download/v4.10.12/jumpserver-installer-v4.10.12.tar.gz
tar -xf jumpserver-installer-v4.10.12.tar.gz
cd /opt/ jumpserver-installer-v4.10.12/
./jmsctl.sh install
cd /etc/docker/
cp daemon.json daemon.json.bak

sudo tee /etc/docker/daemon.json <<-'EOF'
{
"data-root": "/var/lib/docker",
"live-restore": true,
"log-driver": "json-file",
"log-opts": {
"max-file": "3",
"max-size": "10m"
},
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker
cd /opt/ jumpserver-installer-v4.10.12/
./jmsctl.sh install
./jmsctl.sh start

-------------------------------------以下是自动脚本------------------------------------

!/bin/bash

记录安装过程的完整命令脚本

1. 系统信息检查

echo "=== 检查系统信息 ==="
cat /etc/centos-release
df -h

2. 卸载home分区并调整空间

echo "=== 调整磁盘空间 ==="
umount /home/
fuser -km /home
lvremove -f /dev/mapper/centos-home
vgdisplay
lvextend -L +140G /dev/mapper/centos-root
xfs_growfs /dev/mapper/centos-root

3. 注释fstab中的home挂载

echo "=== 更新fstab配置 ==="
cp /etc/fstab /etc/fstab.backup
sed -i '//home/s/^/# /' /etc/fstab
mount -a

4. 下载Jumpserver安装包

echo "=== 下载Jumpserver ==="
cd /opt/
wget https://resource.fit2cloud.com/jumpserver/installer/releases/download/v4.10.12/jumpserver-installer-v4.10.12.tar.gz
tar -xf jumpserver-installer-v4.10.12.tar.gz
cd jumpserver-installer-v4.10.12/

5. 第一次尝试安装Jumpserver(使用其自带的Docker)

echo "=== 第一次尝试安装Jumpserver(使用自带的Docker) ==="
./jmsctl.sh install

6. 如果安装失败,配置Docker镜像加速并重试

if [ $? -ne 0 ]; then
echo "=== Jumpserver安装遇到问题,配置Docker镜像加速 ==="

# 配置Docker镜像加速
mkdir -p /etc/docker
cp /etc/docker/daemon.json /etc/docker/daemon.json.bak 2>/dev/null || true

cat > /etc/docker/daemon.json << 'EOF'

{
"data-root": "/var/lib/docker",
"live-restore": true,
"log-driver": "json-file",
"log-opts": {
"max-file": "3",
"max-size": "10m"
},
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
EOF

# 重启Docker服务
echo "=== 重启Docker服务 ==="
systemctl daemon-reload
systemctl restart docker

# 再次尝试安装Jumpserver
echo "=== 再次尝试安装Jumpserver ==="
./jmsctl.sh install

fi

7. 启动Jumpserver

echo "=== 启动Jumpserver ==="
./jmsctl.sh start

echo "=== 安装完成 ==="
echo "请检查Jumpserver服务状态:./jmsctl.sh status"
echo "访问地址:https://您的服务器IP"

将脚本保存为 install_jumpserver.sh
chmod +x install_jumpserver.sh
./install_jumpserver.sh

posted @ 2025-11-15 09:12  cjh502  阅读(1)  评论(0)    收藏  举报