|
@@ -1,14 +1,12 @@
|
|
|
#!/bin/bash
|
|
|
-#
|
|
|
|
|
|
# check input
|
|
|
if [ -z "$1" ]; then
|
|
|
- echo "*****************************************************************"
|
|
|
+ echo "**********************************************************************************"
|
|
|
echo
|
|
|
- echo " Please input image like below:"
|
|
|
- echo " registry.svicloud.com/powercloud/oms/server:V01R01B18-3043"
|
|
|
+ echo " Usage: ./pushToReomote registry.svicloud.com/powercloud/oms/server:V01R01B18-3043"
|
|
|
echo
|
|
|
- echo "*****************************************************************"
|
|
|
+ echo "**********************************************************************************"
|
|
|
echo
|
|
|
exit 1
|
|
|
fi
|
|
@@ -36,16 +34,6 @@ while true; do
|
|
|
|
|
|
done
|
|
|
|
|
|
-# feature
|
|
|
-echo
|
|
|
-echo " 在这台服务器上推拉镜像到法国,会比其它服务器快至少 10 倍的速度 :)"
|
|
|
-echo " 点解...?"
|
|
|
-echo
|
|
|
-which cstream &>/dev/nulll && \
|
|
|
- echo " 科学上网,你值得拥有! --- Need help? QQ: 85509336" | cstream -b1 -t10 || \
|
|
|
- echo " 科学上网,你值得拥有! --- Need help? QQ: 85509336" && sleep 1
|
|
|
-echo
|
|
|
-
|
|
|
# make a host entry
|
|
|
if ! grep -q "registry.svicloud.com" /etc/hosts; then
|
|
|
echo "151.106.8.135 registry.svicloud.com" >>/etc/hosts
|
|
@@ -54,19 +42,48 @@ fi
|
|
|
# comment to use local repo
|
|
|
sed -i "/^[^#].*registry.svicloud.com/s/^/#/" /etc/hosts
|
|
|
|
|
|
+
|
|
|
+# local repository, so no proxy allowed
|
|
|
+if systemctl show --property=Environment docker | grep -q HTTP_PROXY; then
|
|
|
+ mkdir -p /etc/systemd/system/docker.service.d/
|
|
|
+ echo > /etc/systemd/system/docker.service.d/proxy.conf
|
|
|
+ systemctl daemon-reload
|
|
|
+ systemctl restart docker
|
|
|
+fi
|
|
|
+
|
|
|
# login local repo
|
|
|
docker login -u admin -p Changeme_123 registry.svicloud.com &>/dev/null || \
|
|
|
{ echo "docker login to local repo failed" && echo && exit 1; }
|
|
|
|
|
|
+
|
|
|
# pull the image
|
|
|
if docker pull $1; then
|
|
|
+ echo
|
|
|
sed -i "/^[#].*registry.svicloud.com/s/^#//" /etc/hosts
|
|
|
+
|
|
|
+ # add proxy
|
|
|
+ if ! systemctl show --property=Environment docker | grep -q HTTP_PROXY; then
|
|
|
+ mkdir -p /etc/systemd/system/docker.service.d/
|
|
|
+ echo "[Service]" > /etc/systemd/system/docker.service.d/proxy.conf
|
|
|
+ echo "Environment=\"HTTP_PROXY=http://pc.dongcj.com:1080/\" \"HTTPS_PROXY=https://pc.dongcj.com:1080\"" >> \
|
|
|
+ /etc/systemd/system/docker.service.d/proxy.conf
|
|
|
+ systemctl daemon-reload
|
|
|
+ systemctl restart docker
|
|
|
+ fi
|
|
|
+
|
|
|
sleep 2
|
|
|
- echo "checking remote registry status with ping 5 packages"
|
|
|
- ping registry.svicloud.com -c 5
|
|
|
- docker login -u admin -p "Gocm5]WeqaSufg" registry.svicloud.com &>/dev/null || \
|
|
|
- { echo "docker login to remote repo failed" && echo && exit 1; }
|
|
|
+ echo -n "checking remote registry status.."
|
|
|
+ ping registry.svicloud.com -c 1 &>/dev/null && echo ".ok" || { echo ".failed"; exit 3; }
|
|
|
+
|
|
|
+ docker login -u admin -p "Gocm5]WeqaSufg" registry.svicloud.com &>/dev/null && \
|
|
|
+ echo "login to remote registry success" || \
|
|
|
+ { echo "login failed, retry login..."; sleep 1; docker login -u admin -p "Gocm5]WeqaSufg" \
|
|
|
+ registry.svicloud.com &>/dev/null || \
|
|
|
+ echo "login failed, retry login..."; sleep 1; docker login -u admin -p "Gocm5]WeqaSufg" \
|
|
|
+ registry.svicloud.com &>/dev/null || \
|
|
|
+ echo "docker login to remote repo failed"; echo; exit 1; }
|
|
|
echo
|
|
|
+
|
|
|
if docker push $1; then
|
|
|
echo "push success"
|
|
|
else
|