diff --git a/knowledge base/docker.md b/knowledge base/docker.md index 4ae9506..5c13299 100644 --- a/knowledge base/docker.md +++ b/knowledge base/docker.md @@ -10,6 +10,7 @@ 1. [Advanced build with `buildx`](#advanced-build-with-buildx) 1. [Create builders](#create-builders) 1. [Build for specific platforms](#build-for-specific-platforms) +1. [Compose](#compose) 1. [Further readings](#further-readings) 1. [Sources](#sources) @@ -416,6 +417,51 @@ docker buildx build --platform 'linux/amd64,linux/arm64,linux/arm/v7' -t 'image: docker load … ``` +## Compose + +Refer [Docker compose]. + +
+ Setup + +
+ Via shell + +```sh +mkdir -p '/usr/local/lib/docker/cli-plugins' \ +&& curl 'https://github.com/docker/compose/releases/latest/download/docker-compose-linux-aarch64' \ + -o '/usr/local/lib/docker/cli-plugins/docker-compose' \ +&& chmod 'ug=rwx,o=rx' '/usr/local/lib/docker/cli-plugins/docker-compose' +``` + +
+ +
+ Via Ansible + +```yml +- name: Create Docker's CLI plugins directory + become: true + ansible.builtin.file: + dest: /usr/local/lib/docker/cli-plugins + state: directory + owner: root + group: root + mode: u=rwx,g=rx,o=rx +- name: Get Docker compose from its official binaries + become: true + ansible.builtin.get_url: + url: https://github.com/docker/compose/releases/latest/download/docker-compose-{{ ansible_system }}-{{ ansible_architecture }} + dest: /usr/local/lib/docker/cli-plugins/docker-compose + owner: root + group: root + mode: u=rwx,g=rx,o=rx +``` + +
+ +
+ ## Further readings - [GitHub] @@ -426,6 +472,7 @@ docker load … - [Kaniko] - [`amazon-ecr-credential-helper`][amazon-ecr-credential-helper] - [Announcing remote cache support in Amazon ECR for BuildKit clients] +- [Docker compose] ### Sources @@ -451,13 +498,14 @@ docker load … [containerd]: containerd.md -[dive]: dive.placeholder +[dive]: dive.md [kaniko]: kaniko.md [podman]: podman.md [testcontainers]: testcontainers.md [building multi-arch images for arm and x86 with docker desktop]: https://www.docker.com/blog/multi-arch-images/ +[docker compose]: https://github.com/docker/compose [dockerfile reference]: https://docs.docker.com/reference/dockerfile/ [github]: https://github.com/docker diff --git a/snippets/ansible/tasks.yml b/snippets/ansible/tasks.yml index e6a8a81..0abb326 100644 --- a/snippets/ansible/tasks.yml +++ b/snippets/ansible/tasks.yml @@ -656,6 +656,24 @@ - name: Look for files ansible.builtin.set_fact: path_list_of_all_txt_files_in_dir: "{{ lookup('ansible.builtin.fileglob', '/my/path/*.txt') }}" + - name: Install Docker Compose + block: + - name: Create Docker's CLI plugins directory + become: true + ansible.builtin.file: + dest: /usr/local/lib/docker/cli-plugins + state: directory + owner: root + group: root + mode: u=rwx,g=rx,o=rx + - name: Get Docker compose from its official binaries + become: true + ansible.builtin.get_url: + url: https://github.com/docker/compose/releases/latest/download/docker-compose-{{ ansible_system }}-{{ ansible_architecture }} + dest: /usr/local/lib/docker/cli-plugins/docker-compose + owner: root + group: root + mode: u=rwx,g=rx,o=rx - name: Install packages block: - name: Via package manager on any supported system