On the show itself he hasn't if you don't count K9 and Kamelion.
In the Doctor Who comic strip, one of his long-running companions was Frobisher , from a shapeshifting race called the Whifferdill; he usually took the form of a penguin, so I don't think that counts as humanoid.
The Tardis wikia page on companions also mentions some other "obviously non-human species" in the "non-humans" section, but I think all the ones mentioned besides the Whifferdills would qualify as humanoid.
scifi.stackexchange.com/users/22250/Hypnosifl
He does seem to have a preference for Humans
In fact, its what got him stranded here for a time.
However, it isn't an exclusive one.
At least not in the entirety of the series.
Since the reboot, his companions have been human and typically from somewhere or somewhen around the British Isles / United Kingdom.
This gets a little grey if you include Vastra and Strax as companions since they are clearly not from around here.
If you go back to the First Doctor and start counting , there have been many companions not from this Earth: Susan Foreman, Gallifreyan K9, Robot Dog Romana, Gallifreyan / Time Lady Adric from the E-Space planet Alzarius Nyssa from the planet
Traken Turlough, a political prisoner from the planet Trion Kamelion, a shape-changing sentient robot Some on that list may be "human" but just not born here - the Whoverse is a little fuzzy about the whole notion of why most aliens are bipeds who speak English, though many of them are simply humans who have ventured into space.
Adric and Nyssa may or may not be on that list.
I intentionally left out Leela , as a member of the Sevateem
she's almost certainly got ancestry here.
Also Jack Harkness, as he is from Boeshan Peninsula , a future human colony.
For non-humanoids entirely, the list is whittled down to K9 and (depending on her shape), Kamelion.
scifi.stackexchange.com/users/22987/joshbirk
K9 (both versions) and Kamelion count as companions, of the Fourth and Fifth Doctors respectively.
The K9s were of course robot dogs, and Kamelion was an android.
scifi.stackexchange.com/users/969/Daniel Roseman
Captain Jack isn't British and
being immortal isn't all that human because as Tennant stated 'dying is part of being human' so by the tenth Doctor's definition the inability to die is non-human.
Also to counter act the humanoid concept
yes jackis humanoid but his future self (the face of bo) is not.
scifi.stackexchange.com/users/21674/giacomo casanova
The BBC, and television and movies generally, has/have a very strong preference for humanoid aliens, or larger aliens in lieu thereof: It's a heck of a lot easier to do a creature if you can put a human in the suit.
There have been exceptions involving puppetry or robotics ("animatronics") , but given that
Dr. Who originated so long ago and was a low-budget effort for many years, it shouldn't surprise anyone that there's a bias in this direction.
It's also easier for the most of the viewing audience to identify with humanoids.
"US Television features cardboard-cutout characters in front of three-dimensional scenery.
The BBC does it the other way around."
scifi.stackexchange.com/users/22175/keshlam
The Doctor has traveled Universes and still seems to end up with an English /  UK  companion and befriends mostly humanoid--class entities. Are there any instances that deviate from this scenario?
Does The Doctor ever have a non-British companion or non-humanoid friend?
scifi.stackexchange.com
<doctor-who>
scifi.stackexchange.com/questions/51380
scifi.stackexchange.com/users/16974/Meat Trademark
For non-humanoids, the list of companions only features K9 and Kamelion. The Doctor has had non-British companions including Susan and Romana and Captain Jack. Moreover, K9 and Kamelion are both non-humanoid and companions of the Doctor. 
The Doctor has had non-British companions. These companions include: Susan and Romana and Captain Jack. K9 and Kamelion are both non-humanoid and companions of the Doctor. 