挂载的docker.socklogin不存储

我正在使用gitlab CI亚军来build立一个docker形象,我想把它推到我的私人registry。 CI跑步者正在使用docker:latest并将/var/run/docker.sock挂载到容器中。

docker login -u myuser -p mypass registry.mydomain.com:5000作品,它说login成功,但是当我尝试在下一个命令我推动构build的图像我得到unauthorized: authentication required

docker在哪里存储login到registry? 是否有可能推到一个自定义registry有一个docker集装箱,它挂载到主机docker.sock

重现步骤:

 docker run -ti -v /var/run/docker.sock:/var/run/docker.sock docker sh docker login -u username -p password registry.myhost.com:5000 docker build -t registry.myhost.com:5000/namespace/user:latest . docker push registry.myhost.com:5000/namespace/user:latest 

Docker将login令牌存储在registry中:

 ${HOME}/.docker/config.json 

如果您将所有命令作为来自同一用户的单个脚本运行,那么可能存在限制性代理或防火墙,或者以某种方式错误configuration了私有registry。