代码拉取完成,页面将自动刷新
#! /bin/sh
set -e
if [ -z "$1" ]
then
echo 'Error: Registry-mirror url required.'
exit 0
fi
MIRROR_URL=$1
lsb_dist=''
command_exists() {
command -v "$@" > /dev/null 2>&1
}
if command_exists lsb_release; then
lsb_dist="$(lsb_release -si)"
fi
if [ -z "$lsb_dist" ] && [ -r /etc/lsb-release ]; then
lsb_dist="$(. /etc/lsb-release && echo "$DISTRIB_ID")"
fi
if [ -z "$lsb_dist" ] && [ -r /etc/debian_version ]; then
lsb_dist='debian'
fi
if [ -z "$lsb_dist" ] && [ -r /etc/fedora-release ]; then
lsb_dist='fedora'
fi
if [ -z "$lsb_dist" ] && [ -r /etc/os-release ]; then
lsb_dist="$(. /etc/os-release && echo "$ID")"
fi
if [ -z "$lsb_dist" ] && [ -r /etc/centos-release ]; then
lsb_dist="$(cat /etc/*-release | head -n1 | cut -d " " -f1)"
fi
if [ -z "$lsb_dist" ] && [ -r /etc/redhat-release ]; then
lsb_dist="$(cat /etc/*-release | head -n1 | cut -d " " -f1)"
fi
lsb_dist="$(echo $lsb_dist | cut -d " " -f1)"
lsb_dist="$(echo "$lsb_dist" | tr '[:upper:]' '[:lower:]')"
set_mirror(){
case "$lsb_dist" in
centos)
if grep "CentOS release 6" /etc/redhat-release > /dev/null
then
sudo sed -i "s|other_args=\"|other_args=\"--registry-mirror='$MIRROR_URL'|g" /etc/sysconfig/docker
sudo sed -i "s|OPTIONS='|OPTIONS='--registry-mirror='$MIRROR_URL'|g" /etc/sysconfig/docker
echo "Success."
echo "You need to restart docker to take effect : sudo service docker restart"
exit 0
fi
if grep "CentOS Linux release 7" /etc/redhat-release > /dev/null
then
sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror="$MIRROR_URL"|g" /lib/systemd/system/docker.service
sudo systemctl daemon-reload
echo "Success."
echo "You need to restart docker to take effect : sudo service docker restart"
exit 0
fi
echo "Error: Set mirror failed, please set registry-mirror manually please."
exit 1
;;
ubuntu|debian)
DOCKER_CONFIG_FILE="/etc/default/docker"
if grep "registry-mirror" $DOCKER_CONFIG_FILE > /dev/null
then
sudo sed -i -u -E "s#--registry-mirror='?((http|https)://)?[a-zA-Z0-9.]+'?#--registry-mirror='$MIRROR_URL'#g" $DOCKER_CONFIG_FILE
else
echo 'DOCKER_OPTS="$DOCKER_OPTS --registry-mirror='$MIRROR_URL'"' >> $DOCKER_CONFIG_FILE
echo $MIRROR_URL
fi
echo "Success."
echo "You need to restart docker to take effect : sudo service docker restart"
exit 0
echo "Error: Set mirror failed, please set registry-mirror manually."
exit 1
;;
esac
echo "Error: Unsupported OS, please set registry-mirror manually."
exit 1
}
set_mirror
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。