Идея просто локально собрать ansible в doker нужной версии.
Использовать свои локальные фалы при запуске контейнера.
в дистрибутиве apline версия ansible на 20260505 [core 2.16.1]
cat > docker-compose.yml << "EOF"
services:
ansible:
build: .
volumes:
- ./:/ansible
- ~/.ssh/id_rsa:/root/.ssh/id_rsa
environment:
- ANSIBLE_HOST_KEY_CHECKING=False
stdin_open: true
tty: true
ansible-playbook:
build: .
volumes:
- ./:/ansible
- ~/.ssh/id_rsa:/root/.ssh/id_rsa
environment:
- ANSIBLE_HOST_KEY_CHECKING=False
entrypoint: ansible-playbook
EOF
cat Dockerfile << "EOF"
FROM alpine:latest
RUN apk add --no-cache \
ansible \
openssh-client \
rsync
WORKDIR /ansible
ENTRYPOINT ["ansible"]
CMD ["--help"]
EOF
docker-compose run --rm ansible-playbook ping.yaml
docker-compose run --rm ansible --version