从我的主机推送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/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
Run Code Online (Sandbox Code Playgroud)
/ var/log/messages显示403,我不知道这个docker是不是.见下文.
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
Run Code Online (Sandbox Code Playgroud)
如有任何帮助,请告知我们您是否需要进一步的信息.我也用-f做了推送.没运气!
GPr*_*hap 82
我也有同样的问题.这就是我如何解决它.
第1步:登录docker hub
docker login --username=<user username> --email=<user email address>
Run Code Online (Sandbox Code Playgroud)
步骤2:在docker hub中创建一个存储库.让我们说" mysqlserver:sql ".
docker push <user username>/mysqlserver:sql
Run Code Online (Sandbox Code Playgroud)
编辑(13/08/2017)
基于@KaraPirinc的评论,在docker版本17中登录(步骤1),
docker login -u username -p password
Run Code Online (Sandbox Code Playgroud)
Rad*_*iel 33
你发布的解决方案对我不起作用......
这对我有用:
使用所需名称创建存储库.
提交图像时,将图像命名为存储库,包括用户名<dockerusername>/desired-name.例如,radu/desired-name.
Ana*_*and 27
好!没关系; 我找到了解决方案.with 403怀疑HTTP没有到达正确的URL.
~/.docker/config.json从生成的默认值更改存储了登录凭据的文件
{
"auths": {
"docker.io": {
"auth": "XXXXXXXXXXXXX",
"email": "x.y@gmail.com"
}
}
}
Run Code Online (Sandbox Code Playgroud)
to - 请注意docker.io - > index.docker.io/v1的更改.这就是改变.
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "XXXXXXXXXXXXX",
"email": "x.y@gmail.com"
}
}
}
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.
请注意,auth字段应为'username:password"base64 encoded.例如:"username:password"base64 encoded为"dXNlcm5hbWU6cGFzc3dvcmQ ="
所以你的文件将包含:
"auth": "dXNlcm5hbWU6cGFzc3dvcmQ="
Run Code Online (Sandbox Code Playgroud)
Nee*_* B. 11
新手面临的问题是,我们倾向于将 docker hub 存储库视为 maven 存储库,并认为它可能包含许多不同的文件、文件夹和其他内容。
另一方面,docker 存储库只是一个图像,它不包含任何其他内容。它可以保存同一图像的不同版本,但它只会包含一个图像。
因此,将您在 docker hub 上的存储库命名为与要推送到其中的图像相同的名称,并使用您的 dockerhub 用户名作为前缀。例如,如果您的用户名是myusername并且您的图像名称是docker -whale,请确保将您的 dockerhub 存储库命名为 docker -whale并使用以下命令标记您的图像并将其推送到存储库:
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'
Run Code Online (Sandbox Code Playgroud)
如果它对任何人有帮助,我设法在提示符下使用以下命令解决此问题:
az acr login -n MyContainerName
Run Code Online (Sandbox Code Playgroud)
之后我就可以docker push成功运行了。
我遇到了一个类似的问题,同样没有帮助的错误信息,但事实证明是因为我试图推送我针对docker-machine托管实例构建的图像.
当我登录到实例本身时,确实docker login并且docker push一切正常.
我遇到了同样的问题,但我用push指定了url.as:docker login -u https://index.docker.io/v1/
控制台输出:
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
Run Code Online (Sandbox Code Playgroud)
虽然标准流程是登录然后推送到docker注册表,但解决这个特定问题的技巧是通过在同一行提供用户名和密码来登录.
所以:
docker login -u xxx -p yyy sampledockerregistry.com/myapp
docker push sampledockerregistry.com/myapp
Run Code Online (Sandbox Code Playgroud)
作品
而
docker login sampledockerregistry.com
username : xxx
password : yyy
Login Succeeded
docker push sampledockerregistry.com/myapp
Run Code Online (Sandbox Code Playgroud)
失败
| 归档时间: |
|
| 查看次数: |
127557 次 |
| 最近记录: |