docker unauthorized:需要身份验证-成功登录后推送
在从主机推送docker映像(成功登录后)时,我得到“未经授权:需要身份验证” 详情如下docker unauthorized:需要身份验证-成功登录后推送,docker,Docker,在从主机推送docker映像(成功登录后)时,我得到“未经授权:需要身份验证” 详情如下 -bash-4.2# docker login --username=asamba --email=anand.sambamoorthy@gmail.com WARNING: login credentials saved in /root/.docker/config.json *Login Succeeded* -bash-4.2# -bash-4.2# docker push asamba/docke
-bash-4.2# docker login --username=asamba --email=anand.sambamoorthy@gmail.com
WARNING: login credentials saved in /root/.docker/config.json
*Login Succeeded*
-bash-4.2#
-bash-4.2# docker push asamba/docker-whale
Do you really want to push to public registry? [y/n]: y
The push refers to a repository [docker.io/asamba/docker-whale] (len: 0)
faa2fa357a0e: Preparing
unauthorized: authentication required
- Docker版本:1.9.1(客户端和服务器)
- 还创建了回购协议(asamba/docker whale)李>
Apr 16 11:39:03 localhost journal: time="2016-04-16T11:39:03.884872524Z" level=info msg="{Action=push, Username=asamba, LoginUID=1001, PID=2125}"
Apr 16 11:39:03 localhost journal: time="2016-04-16T11:39:03.884988574Z" level=error msg="Handler for POST /v1.21/images/asamba/docker-whale/push returned error: Error: Status 403 trying to push repository asamba/docker-whale to official registry: needs to be forced"
Apr 16 11:39:03 localhost journal: time="2016-04-16T11:39:03.885013241Z" level=error msg="HTTP Error" err="Error: Status 403 trying to push repository asamba/docker-whale to official registry: needs to be forced" statusCode=403
Apr 16 11:39:05 localhost journal: time="2016-04-16T11:39:05.420188969Z" level=info msg="{Action=push, Username=asamba, LoginUID=1001, PID=2125}"
Apr 16 11:39:06 localhost kernel: XFS (dm-4): Mounting V4 Filesystem
Apr 16 11:39:06 localhost kernel: XFS (dm-4): Ending clean mount
Apr 16 11:39:07 localhost kernel: XFS (dm-4): Unmounting Filesystem
任何帮助是感激的,请让我知道如果你需要进一步的信息。我也用-f推了推。不走运 好的!不要介意;我找到了解决办法。与403一起,我们怀疑HTTP没有连接到正确的URL 将存储有登录凭据的文件从默认生成的更改为
~/.docker/config.json
{
"auths": {
"docker.io": {
"auth": "XXXXXXXXXXXXX",
"email": "x.y@gmail.com"
}
}
}
注意docker.io->index.docker.io/v1的更改。这就是变化
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "XXXXXXXXXXXXX",
"email": "x.y@gmail.com"
}
}
}
希望有帮助
请注意,auth字段应为“username:password”base64编码。
例如:“username:password”base64编码为“dXNlcm5hbWU6cGFzc3dvcmQ=”
因此,您的文件将包含:
"auth": "dXNlcm5hbWU6cGFzc3dvcmQ="
你发布的解决方案不适用于我 这对我来说很有用:
/desired name
。例如,radu/desired name
我遇到了一个类似的问题,出现了一条同样没有帮助的错误消息,但结果是因为我试图推送一个针对docker机器管理的实例构建的映像
当我登录到实例本身时,docker登录和docker推送一切正常。如果您是第一次推送新的私有映像,请确保您的订阅支持此额外映像
Docker允许您拥有6个名为的私有图像,即使您只支付5个,但不推送该第6个图像。缺少信息性消息令人困惑和恼火。我也有同样的问题,但我通过使用指定url推送修复了它。 as:docker登录-u 控制台输出:
The push refers to a repository [docker.io/<username>/richcity]
adc9144127c1: Preparing
4db5654f7a64: Preparing
ce71ae73bc60: Preparing
e8e980243ee4: Preparing
d773e991f7d2: Preparing
bae23f4bbe95: Waiting
5f70bf18a086: Waiting
3d3e4e34386e: Waiting
e72d5d9d5d30: Waiting
8d1d75696199: Waiting
bdf5b19f60a4: Waiting
c8bd8922fbb7: Waiting
unauthorized: authentication required
1010deiMac:dockerspace whoami$ docker login -u <username> https://index.docker.io/v1/
Password:
Login Succeeded
1010deiMac:dockerspace whoami$ docker push <username>/richcity
The push refers to a repository [docker.io/<username>/richcity]
adc9144127c1: Pushed
4db5654f7a64: Pushed
ce71ae73bc60: Pushed
e8e980243ee4: Pushed
d773e991f7d2: Pushed
bae23f4bbe95: Pushed
5f70bf18a086: Pushed
3d3e4e34386e: Pushing [=============> ] 45.07 MB/165.4 MB
e72d5d9d5d30: Pushed
8d1d75696199: Pushing [> ] 1.641 MB/118.1 MB
bdf5b19f60a4: Pushing [============> ] 142 MB/568.4 MB
c8bd8922fbb7: Pushing [========================> ] 59.44 MB/121.8 MB
推送引用存储库[docker.io//richcity]
adc9144127c1:准备
4db5654f7a64:准备
ce71ae73bc60:准备
e8e980243ee4:准备
d773e991f7d2:准备
BAE23F4BE95:等待
5f70bf18a086:正在等待
3d3e4e34386e:等待
e72d5d9d5d30:等待
8d1d75696199:等待
bdf5b19f60a4:正在等待
c8bd8922fbb7:正在等待
未经授权:需要身份验证
1010deiMac:dockerspacewhoami$docker登录-uhttps://index.docker.io/v1/
密码:
登录成功
1010deiMac:dockerspace whoami$docker push/richcity
推送引用存储库[docker.io//richcity]
adc9144127c1:按下
4db5654f7a64:按下
ce71ae73bc60:已按下
e8e980243ee4:按下
d773e991f7d2:按下
BAE23F4BE95:已按下
5f70bf18a086:已按下
3d3e4e34386e:推送[================>]45.07 MB/165.4 MB
e72d5d9d5d30:按下
8d1d75696199:推送[>]1.641 MB/118.1 MB
bdf5b19f60a4:推送[================>]142 MB/568.4 MB
c8bd8922fbb7:推送[=========================>]59.44 MB/121.8 MB
您需要登录到Docker
步骤1:登录到docker hub
根据@KaraPirinc的评论,在Docker版本17中,为了登录:
docker login -u username --password-stdin
然后在询问时输入密码
步骤2:在中创建存储库。
让我们说“mysqlserver:sql”
docker推送/mysqlserver:sql
确保您的docker Repository名称与本地docker repo名称匹配。
e、 让我们说一下,如果您将本地回购命名为“kavashgar/nodjsapp”
那么,您也应该在docker hub中有一个repo名称“kavashgar”对我来说,有效的方法是创建一个新的存储库,并使用
$docker tag image\u id myname/server:latest
这里是我的案例解决方案(私人回购、免费账户计划)
要推送的映像生成名称必须与repo具有相同的名称
例如:
docker hub上的回购为:accountName/resposName
映像生成名称“accountName/resposName”->docker生成-t accountName/resposName
然后键入
docker push accountName/resposName:最新
仅此而已。确保您有更多用于私人图像的插槽
在我的例子中,我将一个用户转换为一个组织,但它丢失了一个免费的私有映像,因此以前的推送工作,不再工作。即使我登录并检查了所有配置,它仍然不工作 事实证明,当我构建docker时,我忘了将用户名放在回购协议名称之前
docker build docker-meteor-build
(成功构建)
然后当我推到我的存储库时,我使用
docker push myname/docker-meteor-build
它将显示所需的未经授权的身份验证
所以,解决方案就是构建的名称,推送应该完全相同
docker build myname/docker-meteor-build
docker push myname/docker-meteor-build
在配置文件~/.docker/config.json中添加
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "XXXXXXXXXXXXX",
"email": "my_email@gmail.com"
}
}
}
其中XXXXX是您的用户名:密码的base64编码
在我的例子中,我拉的时候也有同样的错误。问题(在windows下)是由docker运行的双进程引发的,所以一个杀死他们并重新启动一个服务,它就会工作。虽然标准的过程是登录然后推送到docker注册表,但克服这个特殊问题的诀窍是通过在同一行中提供用户名和密码登录 因此: 有效 鉴于
docker login sampledockerregistry.com
username : xxx
password : yyy
Login Succeeded
docker push sampledockerregistry.com/myapp
失败已经有了很好的答案,但我想提一个-在推送存储库之前,您不需要提前创建存储库。 我的问题是,我没有为我登录的帐户设置正确的用户名。但是,一旦在图像之前设置了正确的用户名(例如,
YOURNAME/YOURIMA
docker login -u xxx -p yyy sampledockerregistry.com/myapp
docker push sampledockerregistry.com/myapp
docker login sampledockerregistry.com
username : xxx
password : yyy
Login Succeeded
docker push sampledockerregistry.com/myapp
sudo docker tag IMAGE:VERSION USERNAME/IMAGE:VERSION
sudo docker push USERNAME/IMAGE:VERSION
docker logout # to make sure you're logged out and not cause any clashes
docker tag <imageId> myusername/docker-whale # use :1.0.0 for specific version, default is 'latest'
docker login --username=myusername # use the username/pwd to login to docker hub
docker push myusername/docker-whale # use :1.0.0 for pushing specific version, default is 'latest'
unauthorized: authentication required
docker login --username=yourhubusername --email=youremail@company.com
docker login
{
"auths": {
"https://index.docker.io/v1/": {}
},
"credsStore": "osxkeychain"
}
#mv xx/.docker/config.json xx/.docker/config_old.json
#docker login https://index.docker.io/v1/
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: YOUR USERNAME
Password: YOUR PASSWORD
WARNING! Your password will be stored unencrypted in /xxx/.docker/config.json.
Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
Error response from daemon: Get https://registry-1.docker.io/v2/hadolint/hadolint/manifests/latest: unauthorized: incorrect username or password
{
"auths": {
"XxX": {
"auth": "XxX"
}
}
}
service docker restart