diff --git a/knowledge base/buildah.md b/knowledge base/buildah.md index 810dcab..416183c 100644 --- a/knowledge base/buildah.md +++ b/knowledge base/buildah.md @@ -70,15 +70,22 @@ buildah config --port '80' 'wc-fedora' buildah commit 'starting-working-container' 'alpine-custom' buildah commit --rm 'working-container-removed-after-commit' 'oci-archive:/tmp/alpine-custom.tar' -# Create images from Dockerfiles. -# The current directory is used as default context path. +# Create images. buildah build -t 'fedora-http-server' buildah build --pull -t '012345678901.dkr.ecr.eu-east-2.amazonaws.com/me/my-alpine:0.0.1' 'dockerfile-dir' +buildah build --manifest 'me/my-alpine:0.0.1' --platform 'linux/amd64,linux/arm64/v8' +buildah build … --output 'type=tar,dest=/tmp/alpine.tar' + +# Inspect stuff. +buildah inspect 'fedora-http-server' +buildah inspect -t 'image' 'cfde91e4763f' +buildah manifest inspect 'me/my-alpine:0.0.1' # Push images. buildah push 'cfde91e4763f' 'docker://registry.example.com/repository:tag' buildah push --disable-compression 'localhost/test-image' 'docker-daemon:test-image:3.0' buildah push --creds 'kevin:secretWord' --sign-by '7425…109F' 'docker.io/library/debian' 'oci:/path/to/layout:image:tag' +buildah manifest push # Remove working containers. buildah rm 'fedora-http-server' @@ -126,7 +133,9 @@ buildah rm --all \ - [Tutorial: Use Buildah in a rootless container with GitLab Runner Operator on OpenShift] - [Building container image in AWS CodeBuild with buildah] +- [Building multi-architecture containers with Buildah] - [Use Buildah to build OCI container images] +- [Containers-transports man page] [building container image in aws codebuild with buildah]: https://dev.to/leonards/building-container-image-in-aws-codebuild-with-buildah-8gk +[building multi-architecture containers with buildah]: https://medium.com/oracledevs/building-multi-architecture-containers-with-buildah-44ed100ec3f3 +[containers-transports man page]: https://man.archlinux.org/man/extra/containers-common/containers-transports.5.en [tutorial: use buildah in a rootless container with gitlab runner operator on openshift]: https://docs.gitlab.com/ee/ci/docker/buildah_rootless_tutorial.html [use buildah to build oci container images]: https://www.linode.com/docs/guides/using-buildah-oci-images/ diff --git a/knowledge base/cloud computing/aws/ecr.md b/knowledge base/cloud computing/aws/ecr.md index 74715ce..7eb4613 100644 --- a/knowledge base/cloud computing/aws/ecr.md +++ b/knowledge base/cloud computing/aws/ecr.md @@ -10,6 +10,11 @@ ```sh # List and get information about the repositories in ECRs. aws ecr describe-repositories +aws ecr describe-repositories --repository-names 'docker-tools/image-builder' +aws ecr describe-repositories --registry-id '123456789012' --query 'repositories[].repositoryName' + +# Create repositories. +aws ecr create-repository --repository-name 'docker-tools/image-builder' # List images in ECRs. aws ecr list-images --repository-name 'repository' @@ -21,7 +26,7 @@ aws ecr get-login-password \ | docker login --username 'AWS' --password-stdin 'aws_account_id.dkr.ecr.region.amazonaws.com' \ # Pull images from ECRs. -docker 'pull aws_account_id.dkr.ecr.region.amazonaws.com/repository_name/image_name:tag' +docker pull 'aws_account_id.dkr.ecr.region.amazonaws.com/repository_name/image_name:tag' # List and show pull through cache rules. @@ -52,6 +57,11 @@ docker pull '123456789012.dkr.ecr.eu-south-1.amazonaws.com/docker-hub/library/ng docker pull '123456789012.dkr.ecr.us-west-2.amazonaws.com/docker-hub/grafana/grafana' ``` +```sh +aws ecr describe-repositories --repository-names 'docker-tools/image-builder' \ +|| aws ecr create-repository --repository-name '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.
diff --git a/knowledge base/docker.md b/knowledge base/docker.md index 334ac43..dfdb332 100644 --- a/knowledge base/docker.md +++ b/knowledge base/docker.md @@ -309,8 +309,10 @@ docker load … - [Configuring DNS] - [Cheatsheet] - [Getting around Docker's host network limitation on Mac] +- [Dockerfile reference] - [Building multi-arch images for ARM and x86 with Docker Desktop] - [OpenContainers Image Spec] +- [Docker ARG, ENV and .env - a Complete Guide] [building multi-arch images for arm and x86 with docker desktop]: https://www.docker.com/blog/multi-arch-images/ +[dockerfile reference]: https://docs.docker.com/reference/dockerfile/ [github]: https://github.com/docker [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 +[docker arg, env and .env - a complete guide]: https://vsupalov.com/docker-arg-env-variable-guide/ [getting around docker's host network limitation on mac]: https://medium.com/@lailadahi/getting-around-dockers-host-network-limitation-on-mac-9e4e6bfee44b [opencontainers image spec]: https://specs.opencontainers.org/image-spec/ diff --git a/knowledge base/git.md b/knowledge base/git.md index d76f3a7..98fcf29 100644 --- a/knowledge base/git.md +++ b/knowledge base/git.md @@ -143,6 +143,14 @@ git commit --amend --no-edit --gpg-sign # Show commits which would be pushed. git log @{u}.. +# Get the current commit SHA. +git rev-parse 'HEAD' +git show -s --format=%H + +# Get the current commit SHA in short form. +git rev-parse --short 'HEAD' +git show -s --format=%h + # Revert a commit, but keep the history of the event as a separate commit. git revert 'commit_hash' @@ -1003,7 +1011,7 @@ git -c http.sslVerify=false … - [How to manage your secrets with git-crypt] - Question about [how to rebase a local branch with remote master] - Question about how to [merge master into a feature branch] -- Question about how to [prune local branches that do not exist on remote anymore] +- Question about how to [prune local tracking branches that do not exist on remote anymore] - Question about how to [rebase remote branches] - Quick guide about [git rebase][rebase quick guide] - Quick guide about how to [remove files from git commit] diff --git a/knowledge base/gitlab.md b/knowledge base/gitlab.md index 66d01ee..80f38f3 100644 --- a/knowledge base/gitlab.md +++ b/knowledge base/gitlab.md @@ -548,6 +548,7 @@ Solution: give that user _developer_ access or have somebody else with enough pr - [Caching in CI/CD] - [Predefined CI/CD variables reference] - [Tutorial: Use Buildah in a rootless container with GitLab Runner Operator on OpenShift] +- [Use kaniko to build Docker images] [authenticating your gitlab ci runner to an aws ecr registry using amazon ecr docker credential helper]: https://faun.pub/authenticating-your-gitlab-ci-runner-to-an-aws-ecr-registry-using-amazon-ecr-docker-credential-b4604a9391eb