Відповіді:
Використання for-loopта && break:
for n in {1..3}; do
docker push $CONTAINER_IMAGE:latest && break;
done
breakвиходить з циклу, але працює лише тоді, коли це docker pushвдалося. Якщо docker pushне вдасться, він вийде з помилкою, і цикл продовжиться.