diff --git a/docker-exec-via-sock.sh b/docker-exec-via-sock.sh index 833d124..ad631f4 100644 --- a/docker-exec-via-sock.sh +++ b/docker-exec-via-sock.sh @@ -72,8 +72,8 @@ docker_exec_create() { docker_exec_create_id=$(printf '%s' "$DOCKER_LAST_RESPONSE" | jq -r '.Id // empty') if [ -z "$docker_exec_create_id" ]; then - log "failed to create $docker_exec_create_desc exec for $CONTAINER_NAME" - log "docker response: $DOCKER_LAST_RESPONSE" + error_message=$(printf '%s' "$DOCKER_LAST_RESPONSE" | jq -r '.message // "unknown error"') + log "failed to create $docker_exec_create_desc exec for $CONTAINER_NAME: $error_message" return 1 fi @@ -189,13 +189,13 @@ fi log "starting exec $exec_id" -if ! start_output=$(docker_exec_start "$exec_id" "exec"); then - exit 1 -fi +start_output=$(docker_exec_start "$exec_id" "exec") || true if ! exit_code=$(docker_exec_exit_code "$exec_id"); then - log "could not determine exec exit code" - log "docker inspect response: $DOCKER_LAST_RESPONSE" + error_message=$(printf '%s' "$DOCKER_LAST_RESPONSE" | jq -r '.message // "unknown error"') + log "could not determine exec exit code: $error_message" + log "this often happens if the command inside the container fails immediately (e.g. command not found)." + log "initial command output from container: $start_output" exit 1 fi