Travis-CI: 本地不存在带标签的镜像

Travis-CI: An image does not exist locally with the tag

我知道 Whosebug 中有很多关于这个或类似主题的帖子。但是 none 的显然解决了我的问题。我尝试使用 Travis-ci 构建并推送一个 docker 图像。标记实际上工作正常

$ docker build -t $DOCKER_USERNAME/$IMAGETAG ./linux/jenkins/
...
Successfully tagged papanito/jenkins:latest

然而,推送不起作用,因为它抱怨缺少本地标签

...
$ export IMAGETAG=jenkins:latest
$ docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded
The command "docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"" exited with 0.
$ docker push $DOCKER_USERNAME/$IMAGETAG
The push refers to a repository [docker.io/papanito/jenkins]
An image does not exist locally with the tag: papanito/jenkins
...

有趣的是最后一条消息不包含版本信息:最新。这里有什么问题

我的问题实际上是我将 docker 图像的 "build" 和 "deploy" 分成两个不同的阶段。因此第二阶段不知道图像。如果我把所有放在一个阶段,图像就成功上传了。