我有这个代码:
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,
})
运行此程序后没有错误,即使我将
on("error")
在
.push
.
这将在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.
但现在当我进入命令行,我运行
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
不知道该怎么做,因为Dockrode的api非常糟糕或者缺失,我不知道该怎么做。感谢任何帮助。谢谢您