ECR
$ aws ecr describe-repositories --profile nonprod_admin | jq .[][].repositoryName
"ubuntu1804-infradevtools-container"
Brain Dump FIXME
$ aws ecr create-repository --repository-name web2048
{
"repository": {
"repositoryUri": "356565822870.dkr.ecr.us-west-2.amazonaws.com/web2048",
"imageScanningConfiguration": {
"scanOnPush": false
},
"encryptionConfiguration": {
"encryptionType": "AES256"
},
"registryId": "356565822870",
"imageTagMutability": "MUTABLE",
"repositoryArn": "arn:aws:ecr:us-west-2:356565822870:repository/web2048",
"repositoryName": "web2048",
"createdAt": 1710245024.942
}
}
[ssm-user@ip-10-0-0-251 2048]$ aws ecr describe-repositories --query 'repositories[].[repositoryName, repositoryUri]' --output table
---------------------------------------------------------------------
| DescribeRepositories |
+---------+---------------------------------------------------------+
| web2048| 356565822870.dkr.ecr.us-west-2.amazonaws.com/web2048 |
+---------+---------------------------------------------------------+
[ssm-user@ip-10-0-0-251 2048]$
[ssm-user@ip-10-0-0-251 2048]$
[ssm-user@ip-10-0-0-251 2048]$ export REPOSITORY_URI=$(aws ecr describe-repositories --query 'repositories[].[repositoryUri]' --output text)
[ssm-user@ip-10-0-0-251 2048]$ echo ${REPOSITORY_URI}
356565822870.dkr.ecr.us-west-2.amazonaws.com/web2048
[ssm-user@ip-10-0-0-251 2048]$
[ssm-user@ip-10-0-0-251 2048]$
[ssm-user@ip-10-0-0-251 2048]$
[ssm-user@ip-10-0-0-251 2048]$ export ACCOUNT_ID=$(aws sts get-caller-identity --output text --query Account)
[ssm-user@ip-10-0-0-251 2048]$
[ssm-user@ip-10-0-0-251 2048]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"`
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 56 100 56 0 0 36939 0 --:--:-- --:--:-- --:--:-- 56000
[ssm-user@ip-10-0-0-251 2048]$
[ssm-user@ip-10-0-0-251 2048]$ export AWS_REGION=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" -s http://169.254.169.254/latest/dynamic/instance-identity/document | jq -r '.region')
[ssm-user@ip-10-0-0-251 2048]$
[ssm-user@ip-10-0-0-251 2048]$ aws ecr get-login-password --region ${AWS_REGION} | docker login --username AWS --password-stdin ${ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com
WARNING! Your password will be stored unencrypted in /home/ssm-user/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[ssm-user@ip-10-0-0-251 2048]$
[ssm-user@ip-10-0-0-251 2048]$
[ssm-user@ip-10-0-0-251 2048]$
[ssm-user@ip-10-0-0-251 2048]$ docker tag web2048:latest ${REPOSITORY_URI}:latest
[ssm-user@ip-10-0-0-251 2048]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
356565822870.dkr.ecr.us-west-2.amazonaws.com/web2048 latest aefdda6043ac 16 minutes ago 188MB
web2048 latest aefdda6043ac 16 minutes ago 188MB
nginx latest e4720093a3c1 3 weeks ago 187MB
[ssm-user@ip-10-0-0-251 2048]$
[ssm-user@ip-10-0-0-251 2048]$
[ssm-user@ip-10-0-0-251 2048]$ docker push ${REPOSITORY_URI}:latest
The push refers to repository [356565822870.dkr.ecr.us-west-2.amazonaws.com/web2048]
1412f1744cda: Pushed
61a7fb4dabcd: Pushed
bcc6856722b7: Pushed
188d128a188c: Pushed
7d52a4114c36: Pushed
3137f8f0c641: Pushed
84619992a45b: Pushed
ceb365432eec: Pushed
latest: digest: sha256:00f3f5ceb4db7b636e0f83f412e8bdacfa90bb86fba95d7f7f9b6d491b7e6ef5 size: 1988
[ssm-user@ip-10-0-0-251 2048]$ aws ecr describe-images --repository-name web2048
{
"imageDetails": [
{
"artifactMediaType": "application/vnd.docker.container.image.v1+json",
"imageSizeInBytes": 71522170,
"imageDigest": "sha256:00f3f5ceb4db7b636e0f83f412e8bdacfa90bb86fba95d7f7f9b6d491b7e6ef5",
"imageManifestMediaType": "application/vnd.docker.distribution.manifest.v2+json",
"imageTags": [
"latest"
],
"registryId": "356565822870",
"repositoryName": "web2048",
"imagePushedAt": 1710245206.0
}
]
}
[ssm-user@ip-10-0-0-251 2048]$