I'm not an instructor, but I have done some freediving in my time and have pretty good apnea times.
The main thing you need to do is practise holding your breath. Practise with empty lungs and with full lungs, and try it while swimming or while still.
Expanding your chest will allow you to get more air into your lungs. Do breathing squats, weighted side-bends and unweighted side bends to stretch the intercostal muscles.
Increase your VO2 max. The best way to do this is high-intensity interval training.
Try
this exercise to learn how to control thoracic contractions. (Thoracic contractions are what cause the craving for breath when you reach you hold your breath and carbon dioxide builds up in your blood. Obviously, don't be too macho by forcing your way through more than a few thoracic contractions; they are a sign to stop and even well conditioned divers can only take a few before passing out.)
Your lungs have stretch receptors and can be stretched just like muscles. Inhale as deeply as you can and then take a few more sips of air to pack your lungs to capacity. Again, go easy with this as it can be dangerous.
Kapalabhati is a breathing technique a lot of freedivers use. I don't know the physiology of it, but it seems to work. In short, rather than inhaling deliberately, and letting your air escape passively, practise focusing on the exhalation and allowing the inhalation to happen by itself.
And above all: relax! Apnea is mostly psychological.