Skip to main content

Copy Docker Image From one Repo to Another Repository

This Blog would help you on how you can copy one docker image to another repository, this is useful when people want to host their own docker registry and copy the images there.

FROM AWS ECR to private repo

Create file copy-docker-image.sh

repo="ACCOUNT_ID.dkr.ecr.ap-south-1.amazonaws.com"

aws ecr get-login-password --region ap-south-1 | sudo docker login --username AWS --password-stdin $repo

push_repo="172.31.1.250:5000"
sudo docker pull $repo/$1
sudo docker tag $repo/$1 $push_repo/$2:$3
sudo docker push $push_repo/$2:$3

Note: Make sure you have aws cli setup with aws configure with correct credentials to pull the image

DOCKER hub to private repo

Create file copy-docker-image.sh

repo="docker.io"

push_repo="172.31.1.250:5000"
sudo docker pull $repo/$1
sudo docker tag $repo/$1 $push_repo/$2:$3
sudo docker push $push_repo/$2:$3

Usage

chmod +x copy-docker-image.sh

./copy-docker-image.sh nginx:1.24  nginx v1.24

Comments

Popular posts from this blog

k8s rolling updates are not working

k8s rolling updates are not working Issue Whenever we were deploying a new release, pods were deleting to Fix no. like 2 then scaling up as per HPA. Cause Whenever we use replicas alongwith hpa and the deployment happens it first sets the pod count as per replicas, then hpa kick in and set the new values. To avoid this please remove or comment replicas in your yaml file. Relates Issues Old Pod is still running even after fresh deployment. Deployed Pod is still not created ( if only one pod was running 1). Relates Posts https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#migrating-deployments-and-statefulsets-to-horizontal-autoscaling

Add a Approval System in Jenkins For Build

Approval System in Jenkins For Build Use Cases: Only Specific users must be able to approve the build Speific users should be able to run the build without Approval Approval Can be turn off and On On-Demand Jenkins Variables Needs to Created under ( Manage Jenkins > Configure System > Environment variables ) ApprovalAdmins (Value: jenkins emails comma separated) skipApprovalUsers (Value: jenkins emails comma separated) BuildApproval (Value: True, False) import jenkins.model.Jenkins def getBuildUser() { return currentBuild.getBuildCauses('hudson.model.Cause$UserIdCause')['userId'] } pipeline { agent { label 'ec2-fleet-common' } stages { stage('Approval Process') { when { expression { env.BuildApproval == 'True' || env.BuildApproval == 'true' } } steps { script { ...

Create a proxy using Nginx Controller in kubernetes

Use Case: I needed to create a proxy which redirects my traffic to my internal service in eks mainly to expose it publicly and i already had a nginx controller installed within my kubernetes cluster. It also supports all of the nginx features like ip whitelisting, lua scripts etc apiVersion : networking.k8s.io/v1 kind : Ingress metadata : annotations : kubernetes.io/ingress.class : nginx kubernetes.io/tls-acme : "true" meta.helm.sh/release-name : "nginx-proxy" meta.helm.sh/release-namespace : default nginx.ingress.kubernetes.io/cors-allow-headers : DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization nginx.ingress.kubernetes.io/cors-allow-origin : '*' nginx.ingress.kubernetes.io/enable-cors : "true" nginx.ingress.kubernetes.io/server-snippet : | ##### Allow Traffic from specific Ips ##### #allow x.x.x.x; #allow x.x.x.x; ...