How to push docker image to ECR in jenkins?

Hi I am working on Jenkins. I am trying to push image to ECR. I am using local docker to build the images. Below is my jenkins file.

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....'
            }
        }
    }
}

In the above code, I am able to build and create image. In the second stage, I am facing the issues. I am getting below error.

     $ 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)JenkinsworkspaceSampleAppPipeLine>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

Can someone help me to fix this issue? Any help would be appreciated. Thanks

Source: StackOverflow