diff --git a/knowledge base/cloud computing/aws/ecr.md b/knowledge base/cloud computing/aws/ecr.md index 35839c6..4e04278 100644 --- a/knowledge base/cloud computing/aws/ecr.md +++ b/knowledge base/cloud computing/aws/ecr.md @@ -69,8 +69,10 @@ aws ecr describe-repositories --repository-names 'docker-tools/image-builder' \ ## Pull through cache feature -> **Note:** when requesting an image for the first time using the pull through cache, the ECR creates a new repository for that image.
-> This might™ introduce a small latency and be cause of pull failures. Pulling that (not-yet)cached image from an interactive shell session worked flawlessly. +> **Note:** when requesting an image for the first time using the pull through cache, the ECR creates a new repository +> for that image.
+> This might™ introduce a small latency and be cause of pull failures. Pulling that (not-yet)cached image from an +> interactive shell session worked flawlessly. ## Troubleshooting @@ -88,6 +90,7 @@ Context: trying to pull an image on an EC2 instance that is using the amazon-ecr - [Amazon Web Services] - AWS' [CLI] +- [Use ECR as cache for BuildKit][announcing remote cache support in amazon ecr for buildkit clients] ### Sources @@ -106,6 +109,7 @@ Context: trying to pull an image on an EC2 instance that is using the amazon-ecr +[announcing remote cache support in amazon ecr for buildkit clients]: https://aws.amazon.com/blogs/containers/announcing-remote-cache-support-in-amazon-ecr-for-buildkit-clients/ [cli subcommand reference]: https://docs.aws.amazon.com/cli/latest/reference/ecr/ [creating a lifecycle policy preview]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/lpp_creation.html [using pull through cache rules]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html diff --git a/knowledge base/docker.md b/knowledge base/docker.md index c39443e..ba00348 100644 --- a/knowledge base/docker.md +++ b/knowledge base/docker.md @@ -195,6 +195,8 @@ docker buildx create --node 'builder_name' docker buildx build -t 'image:tag' --load '.' docker buildx build … -t 'image:tag' --load --platform 'linux/amd64' '.' docker buildx build … --push \ + --cache-to 'mode=max,image-manifest=true,oci-mediatypes=true,type=registry,ref=012345678901.dkr.ecr.eu-west-2.amazonaws.com/buildkit-test:cache \ + --cache-from type=registry,ref=012345678901.dkr.ecr.eu-west-2.amazonaws.com/buildkit-test:cache \ --platform 'linux/amd64,linux/arm64,linux/arm/v7' '.' # Remove builders. @@ -423,6 +425,7 @@ docker load … - [Containerd] - [Kaniko] - [`amazon-ecr-credential-helper`][amazon-ecr-credential-helper] +- [Announcing remote cache support in Amazon ECR for BuildKit clients] ### Sources @@ -459,6 +462,7 @@ docker load … [amazon-ecr-credential-helper]: https://github.com/awslabs/amazon-ecr-credential-helper +[announcing remote cache support in amazon ecr for buildkit clients]: https://aws.amazon.com/blogs/containers/announcing-remote-cache-support-in-amazon-ecr-for-buildkit-clients/ [arch linux wiki]: https://wiki.archlinux.org/index.php/Docker [cheatsheet]: https://collabnix.com/docker-cheatsheet/ [configuring dns]: https://dockerlabs.collabnix.com/intermediate/networking/Configuring_DNS.html diff --git a/knowledge base/kaniko.md b/knowledge base/kaniko.md index c40451a..fcecfc7 100644 --- a/knowledge base/kaniko.md +++ b/knowledge base/kaniko.md @@ -60,7 +60,7 @@ docker run … \ --destination 'gcr.io/gcp-project-id/custom-image:1.2.3' \ --destination 'mycr.azurecr.io/azure-repository:1.2.3' docker run … -v "$PWD/config.json:/kaniko/.docker/config.json:ro" 'gcr.io/kaniko-project/executor:latest' -docker run … 'gcr.io/kaniko-project/executor' … --cache true --custom-platform 'linux/amd64' --build-arg VERSION='1.2' +docker run … 'gcr.io/kaniko-project/executor' … --cache --custom-platform 'linux/amd64' --build-arg VERSION='1.2' ``` diff --git a/snippets/aws/other commands.fish b/snippets/aws/other commands.fish index db015a7..47ee28c 100644 --- a/snippets/aws/other commands.fish +++ b/snippets/aws/other commands.fish @@ -112,8 +112,32 @@ curl 'http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access' # ------------------ ### +aws ecr describe-repositories +aws ecr create-repository --repository-name 'bananaslug' --registry-id '012345678901' aws ecr delete-repository --repository-name 'bananaslug' +aws ecr get-login-password \ +| docker login --username AWS --password-stdin '012345678901.dkr.ecr.eu-west-1.amazonaws.com' + +aws ecr describe-pull-through-cache-rules --registry-id '012345678901' +aws ecr validate-pull-through-cache-rule --ecr-repository-prefix 'ecr-public' + +docker pull '012345678901.dkr.ecr.eu-west-1.amazonaws.com/ecr-public/repository_name/image_name:tag' +docker pull '012345678901.dkr.ecr.eu-west-1.amazonaws.com/quay/repository_name/image_name:tag' + +docker pull 'quay.io/argoproj/argocd:v2.10.0' +docker pull '012345678901.dkr.ecr.eu-west-1.amazonaws.com/me/argoproj/argocd:v2.10.0' + +aws ecr create-pull-through-cache-rule --registry-id '012345678901' \ + --ecr-repository-prefix 'cache/docker-hub' \ + --upstream-registry 'docker-hub' --upstream-registry-url 'registry-1.docker.io' \ + --credential-arn "$(\ + aws secretsmanager describe-secret --secret-id 'ecr-pullthroughcache/docker-hub' --query 'ARN' --output 'text' \ + )" +aws ecr describe-pull-through-cache-rules --registry-id '012345678901' --ecr-repository-prefixes 'cache/docker-hub' + +aws ecr list-images --registry-id '012345678901' --repository-name 'cache/docker-hub' + ### # ECS