gpt4 book ai didi

docker - 如何使用 dockerode 推送镜像? (图像未推送但没有错误)

转载 作者:行者123 更新时间:2023-12-02 18:37:08 28 4
gpt4 key购买 nike

我有这个代码:

import * as Docker from 'dockerode'
const docker = new Docker()
const remoteDockerImage = docker.getImage(`${awsRepoUrl}:${version}`)

await remoteDockerImage.push({
authconfig: { base64: 'auth token from aws' },
tag: version,
})

在我运行它之后没有错误,即使我在 .push 的返回上放置了一个 on("error")

这会在 docker 日志中创建以下内容

[18:47:06.056][ApiProxy       ][Info   ] time="2019-01-18T18:47:06+08:00" msg="proxy >> POST /images/284135xxxxxx.dkr.ecr.us-east-1.amazonaws.com/xxxx:v0.1.200/push?tag=v0.1.200\n"
[18:49:18.018][DnsUpdater ][Error ] Unable to update dns settings: Value cannot be null.
Parameter name: first
[18:49:18.018][DnsUpdater ][Info ] Network configuration change detected
[18:49:19.068][DnsUpdater ][Error ] Unable to update dns settings: Value cannot be null.

没有任何反应,没有图像被推送。不确定那些 DNS 错误是什么...

但是现在当我转到 CMD 行并运行 docker login -u AWS -p secretAWSkey https://284135xxxxxx.dkr.ecr.us-east-1.amazonaws.com 和然后 docker push my-image 我在日志中看到:

[18:57:17.517][ApiProxy       ][Info   ] time="2019-01-18T18:57:17+08:00" msg="proxy << POST /v1.39/auth (5.1241041s)\n"
[18:57:17.694][ApiProxy ][Info ] time="2019-01-18T18:57:17+08:00" msg="proxy >> GET /_ping\n"
[18:57:17.699][ApiProxy ][Info ] time="2019-01-18T18:57:17+08:00" msg="proxy << GET /_ping (3.9935ms)\n"
[18:57:18.107][ApiProxy ][Info ] time="2019-01-18T18:57:18+08:00" msg="proxy >> POST /v1.39/images/284135xxxxxx.dkr.ecr.us-east-1.amazonaws.com/app-repo/push?tag=v0.1.206\n"

现在图像已推送并正常工作。

差异(工作与不工作):

  • /v1.39/images/ 对比 /images/
  • 调用 /v1.39/auth 与不调用

不知道该怎么做,因为 dockerode 的 api 非常糟糕或缺失,我不知道该怎么做。任何帮助表示赞赏。谢谢

最佳答案

根据 dockerodeREADME.md 文件,您可能需要在 authconfig 对象中将“base64”替换为“key” .

请看这里的pull 例子:https://github.com/apocas/dockerode/blob/master/README.md#pull-from-private-repos

关于docker - 如何使用 dockerode 推送镜像? (图像未推送但没有错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54252777/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com