Данное руководство представлено исключительно в ознакомительных целях как лабораторная работа и противоречит эксплуатационной документации SimpleOne.
Скачиваем и устанавливаем пакеты Docker:
wget https://download.docker.com/linux/debian/dists/bookworm/pool/stable/amd64/docker-ce-cli_24.0.6-1~debian.12~bookworm_amd64.deb
wget https://download.docker.com/linux/debian/dists/bookworm/pool/stable/amd64/docker-ce-rootless-extras_24.0.6-1~debian.12~bookworm_amd64.deb
wget https://download.docker.com/linux/debian/dists/bookworm/pool/stable/amd64/docker-ce_24.0.6-1~debian.12~bookworm_amd64.deb
wget https://download.docker.com/linux/debian/dists/bookworm/pool/stable/amd64/containerd.io_1.6.24-1_amd64.deb
wget https://download.docker.com/linux/debian/dists/bookworm/pool/stable/amd64/docker-compose-plugin_2.18.1-1~debian.12~bookworm_amd64.deb
dpkg -i *.deb
Запускаем Docker:
systemctl enable docker
systemctl start docker
Добавить alias для старой версии docker-compose. Для этого в /usr/local/bin/docker-compose
нужно разместить скрипт по следующим содержанием:
touch /usr/local/bin/docker-compose
nano /usr/local/bin/docker-compose
#!/usr/bin/env bash
echo -e "\033[1;35m[WARNING] This is aliased command \"docker compose\"\033[0m"
docker compose $@
Делаем его исполняемым:
chmod +x /usr/local/bin/docker-compose
Устанавливаем необходимое окружение:
apt install -y sshpass
apt install -y pip3
apt install -y jq
pip3 install cryptography --break-system-packages
pip3 install ansible==4.0.0 --break-system-packages
pip3 install passlib --break-system-packages
ansible-galaxy collection install community.crypto --force
Далее работаем с дистрибутивом:
tar -xvf release-*.tar.gz
cd release-1-21-3-2/
Правим конфигурационные файлы дистрибутива:
nano inventory/single/inventory.yml
nano inventory/single/group_vars/all/vars.yml
Добавляем нашу ОС в system.yml :
nano vars/all/system.yml
os_valid_distributions:
- Debian
os_minimal_versions:
Debian: 12
Правим:
nano roles/single/tasks/asserts/assert_postgres.yml
- name: get postgres container
shell: |
set -euo pipefail
docker ps -a --format='{%raw%}{{json .}}{%endraw%}' --filter label=app=postgres
args:
executable: /bin/bash
Это нужно для решения ошибки:
Далее запускаем установку:
ansible-playbook complex-offline.yml -i inventory/single -vvv -c local