在CI/CD自动化流程中,或者执行shell脚本拉取本地镜像时,需要手工docker login本地仓库,十分的不方便,这里提供一个可以执行的sh脚本,自动登录本地的镜像仓库。
1、安装expect
yum -y install expect
2、创建sh文件
vi docker-login.sh
复制文本内容到文件,修改你的登录域名。给脚本增加执行权限
为harbor增加https免费的ssl证书,请参考另一篇博客http://t.csdn.cn/u0Ec1
#!/bin/bash
/usr/bin/expect <<EOF
spawn docker login harbor的域名-建议使用https证书-例如填写:harbor.baidu.com
expect {
"Username:" {send "用户名\r" ; exp_continue }
"Password:" {send "密码\r" }
}
expect eof
EOF
chmod +x docker-login.sh
3、测试登录
sh docker-login.sh
显示登录succeeded成功
tips:还有一条命令登录docker仓库,不过存在安全隐患,因为密码可见
echo "harbor密码" | docker login "https://harbor仓库地址/" -u "admin" --password-stdin