前言

有很多更新了新版SCALE的同学,安装不了应用,原因是docker官方的源访问不了,所以写了一个添加mirror的脚本

脚本

#!/bin/bash
# 备份原始文件
sleep 30
sudo cp /etc/docker/daemon.json /etc/docker/daemon.json.bak

# 使用 jq 添加新的键值对并写入临时文件
sudo jq '. + { "registry-mirrors": ["https://docker.1panel.dev"] }' /etc/docker/daemon.json | sudo tee /etc/docker/daemon.json.tmp > /dev/null

# 检查 jq 是否成功
if [ $? -eq 0 ]; then
    # 替换原始文件
    sudo mv /etc/docker/daemon.json.tmp /etc/docker/daemon.json
    echo "成功更新 daemon.json 文件。"
else
    echo "更新 daemon.json 文件失败,恢复备份。"
    sudo mv /etc/docker/daemon.json.bak /etc/docker/daemon.json
fi

# 重启 Docker 服务
sudo systemctl restart docker

这里用的mirror是 https://docker.1panel.dev,大家也可以替换成自己想要的

写入脚本到/root/update_docker_daemon.sh文件

sudo tee /root/update_docker_daemon.sh > /dev/null << 'EOF'
#!/bin/bash
sleep 30
# 备份原始文件
sudo cp /etc/docker/daemon.json /etc/docker/daemon.json.bak

# 使用 jq 添加新的键值对并写入临时文件
sudo jq '. + { "registry-mirrors": ["https://docker.1panel.dev"] }' /etc/docker/daemon.json | sudo tee /etc/docker/daemon.json.tmp > /dev/null

# 检查 jq 是否成功
if [ $? -eq 0 ]; then
    # 替换原始文件
    sudo mv /etc/docker/daemon.json.tmp /etc/docker/daemon.json
    echo "成功更新 daemon.json 文件。"
else
    echo "更新 daemon.json 文件失败,恢复备份。"
    sudo mv /etc/docker/daemon.json.bak /etc/docker/daemon.json
fi

# 重启 Docker 服务
sudo systemctl restart docker
EOF

设置开机自启

由于SCALE重启会自动还原这个文件,所以我们需要把这个脚本开机执行

把上面的脚本保存名称为update_docker_daemon.sh

我是保存在/root下的,然后创建开机脚本

image.png

最后修改:2024 年 10 月 08 日
感谢您的支持