ECR (Elastic container registry)
- it will be works similar as dockerhub
- we need create repostory for every image
- we can store multiple tags for each image repository
## Example
front-end: 1.0.0
front-end: 1.1.0
front-end: 1.1.1
front-end: 1.1.2
create ECR repostory
- <accountid>…dkr.ecr.<region_name>.amazonaws.com
- 497650754350.dkr.ecr.us-east-1.amazonaws.com/<namespace>/<image_Name>
- 497650754350.dkr.ecr.us-east-1.amazonaws.com/dev/apache2
- 497650754350.dkr.ecr.us-east-1.amazonaws.com/qa/apache2
- 497650754350.dkr.ecr.us-east-1.amazonaws.com/prod/apache2
Image tag settings in ECR
- Image tag mutability : override existing image version
- Image tag Immutable : can’t override existing image version
Encryption configuration
- AES-256: Industry standard Advanced Encryption Standard (AES) encryption
- AWS KMS: AWS Key Management Service (KMS)
create IAM user and policy with ECR full access
configure user in where you want to login docker
choco install awscli -y
aws configure
aws ecr describe-repositories
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 497650754350.dkr.ecr.us-east-1.amazonaws.com
echo "PAT_token" | docker login --username service-admin --password-stdin kfc.jfrog.io
docker pull httpd:latest
docker tag httpd:latest 497650754350.dkr.ecr.us-east-1.amazonaws.com/dev/apache2:1.0.0
docker push 497650754350.dkr.ecr.us-east-1.amazonaws.com/dev/apache2:1.0.0
aws ecr describe-images --repository-name dev/apache2 --region us-east-1
aws ecr describe-images \
--repository-name dev/apache2 \
--region us-east-1 \
--query 'imageDetails[].imageTags' \
--output table
Public ecr
aws ecr-public get-login-password --region us-east-1 | \
docker login --username AWS --password-stdin public.ecr.aws
create ECR repository for nop and spring petclinic
- create images nop and spring
- push images to ecr
docker run -d -p 8081:8081 --name nexus sonatype/nexus3
docker exec -it containerid /bin/sh
MSYS_NO_PATHCONV=1 docker exec -it nexus /bin/sh
cat /nexus-data/admin.password
b66c8531-1cd4-495a-a82e-1e3a32b631e0
docker login ip:8081 --username admin