【发布时间】:2020-01-30 12:54:30
【问题描述】:
我正在与詹金斯一起工作。我正在尝试将图像推送到ECR。我正在使用本地 Docker 来构建图像。
下面是我的 Jenkins 文件:
pipeline {
agent any
stages {
stage('Build') {
steps {
bat 'docker build -t sampleapp -f SampleApp/Dockerfile .'
}
}
stage('Push image') {
steps {
withDockerRegistry([url: "https://536703334988.dkr.ecr.ap-southeast-2.amazonaws.com/test-repository",credentialsId: "ecr:ap-southeast-2:demo-ecr-credentials"]) {
bat 'docker push sampleapp:latest'
}
}
stage('Deploy') {
steps {
echo 'Deploying....'
}
}
}
}
在上面的代码中,我能够构建和创建图像。在第二阶段,我面临着问题。我收到以下错误:
$ docker login -u AWS -p ******** https://536703334988.dkr.ecr.ap-southeast-2.amazonaws.com/test-repository WARNING! Using --password via the CLI is insecure. Use --password-stdin. Login Succeeded C:\Program Files (x86)\Jenkins\workspace\SampleAppPipeLine>docker push sampleapp:latest The push refers to repository [docker.io/library/sampleapp] a160522d6d0e: Preparing 2e2c2606bd45: Preparing 9b0a482c69b1: Preparing 995a0cc6a5f6: Preparing c1b55dcb46c2: Preparing cf5b3c6798f7: Preparing cf5b3c6798f7: Waiting denied: requested access to the resource is denied
有人可以帮我解决这个问题吗?任何帮助将不胜感激。
谢谢。
【问题讨论】:
-
我在日志中没有看到任何错误?
-
嗨进程显然从未启动过消息,它将显示并卡住。同样在工作空间中的 templ 文件夹将被创建,并且文件 script.sh 将被创建。在 script.sh 我可以看到 docker tag sampleapp 536703334988.dkr.ecr.ap-southeast-2.amazonaws.com/sampleapp:latest
-
我可以知道536703334988.dkr.ecr.ap-southeast-2.amazonaws.com/…这是应该在script.sh中的url吗?
-
是的,如果这是您的 AWS ECR 网址
-
但是在哪里改变呢? docker.withRegistry 我已经给了 https
标签: amazon-web-services docker jenkins docker-image amazon-ecr