I'm using docker swarm here and used docker service create
, it is stuck due to some mount error or any service pre-requisite which is not being met.
But instead of forever getting stuck. I want it to exit when such a failure scenario has come across.
How to do it ? I don't see anything present in inbuilt in docker for now. Tried using a script too.
docker service creation...
service_pid=$!
timeout_seconds=600
while true; do
if docker service ls --filter name="$service_name" --format '{{.Name}}' | grep -q "$service_name"; then
echo "Service $service_name created successfully."
break
elif [ $SECONDS -ge $timeout_seconds ]; then
echo "Service creation timed out after $timeout_seconds seconds."
# Optionally, you can clean up the service here if desired
docker service rm "$service_name" >/dev/null 2>&1
break
fi
sleep 5
done
But the problem here it's not leaving docker service creation command so it does not even go next line of it.