Amount of game objects doubles every time I instantiate

For my game I’m trying to spawn missiles, but every time I instantiate one, the overall amount of missiles doubles. For instance, the first I instantiate the will be one missile, the next there might 2, then next time there will be four, and then there will be 8 missiles. Here’s the code -

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MissileController : MonoBehaviour
    [SerializeField] private GameObject playerGameObject;
    [SerializeField] private AttackPlayer missilePrefab;
    // Start is called before the first frame update
    void Start()


    // Update is called once per frame
    void Update()
       InvokeRepeating("spawnMissile", 5.0f, 5.0f);

    public AttackPlayer spawnMissile()
            AttackPlayer newMissileInstance = Instantiate(missilePrefab,new Vector3(0,0,0), missilePrefab.transform.rotation);
            newMissileInstance.playerReferance = playerGameObject;
            return newMissileInstance;

can anybody help me? sorry for how basic this question is.

You should not call InvokeRepeating inside Update. It should be called only once and it will keep calling the function every 5 seconds. Put that statement inside the Start function.