#!/bin/bash defaultimage="ansible:deb13" export ANSIBLE_HOST_KEY_CHECKING=False export ANSIBLE_SSH_ARGS='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' export ANSIBLE_CONFIG=./ansible.cfg # Ermittle den nächsten freien Container-Namen base_name="ansible" counter=1 while docker ps -a --format '{{.Names}}' | grep -q "^${base_name}-${counter}$"; do counter=$((counter + 1)) done container_name="${base_name}-${counter}" docker run --rm -dit \ --name "$container_name" \ --hostname "$container_name" \ -e ANSIBLE_HOST_KEY_CHECKING=False \ -e ANSIBLE_SSH_ARGS='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' \ -e ANSIBLE_CONFIG=./ansible.cfg \ -v "$(pwd):/ansible" \ -v ansible_ssh_keys:/root/.ssh \ -w /ansible \ $defaultimage \ "/bin/bash" docker exec "$container_name" sh -lc "mkdir -p /root/.ssh && chmod 700 /root/.ssh && printf 'Host *\n StrictHostKeyChecking no\n UserKnownHostsFile /dev/null\n' > /root/.ssh/config && chmod 600 /root/.ssh/config" container_ip=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "$container_name" 2>/dev/null) container_os=$(docker exec "$container_name" sh -c 'grep PRETTY_NAME /etc/os-release 2>/dev/null | cut -d= -f2 | tr -d "\"" 2>/dev/null') echo "-----------------------------------" echo "Container Name : $container_name" echo "Container IP : ${container_ip:-n/a}" echo "Container OS : ${container_os:-n/a}" echo "-----------------------------------" docker attach "$container_name"