今天遇到一个诡异的jenkins问题。以往正常构建的项目,在推送镜像进入私库时,忽然报unauthorized: authentication required。docker
- 开始尝试命令行从新进行了docker login。
-
docker login -p 密码 -u 用户 http://私库url
- 登陆成功后,尝试用jenkins用户在命令行进行push操做。
-
docker push 镜像
- 命令显示OK。切回Jenkins进行构建,问题依旧存在。
- 新建构建项目,尝试执行docker login和docker push命令。login时报:
-
Error saving credentials: mkdir /.docker: permission denied
- docker 的client配置目录本来应该在~目录,不知为什么跑到了根目录,命令行该用户的home目录正常,怀疑docker默认配置不对,而后修改配置,重启,问题依旧。
- 有点无语了,转头看看jenkins的系统信息,发现其中的home和user.home均在根目录下。而后尝试修改用户目录,并重启jenkins。
-
usermod -d /path/to/your/location jenkins
- 重启完毕后,尝试编译项目,问题终于解决。多是周末停机维护形成的,应该是jenkins的小bug。
参考资料:bash