The actor, 58, said he felt like a “dinosaur” and that people like him are “seen through the lens” of people like disgraced movie producer Harvey Weinstein.
Eccleston also admitted he felt opportunities were lessening but said that they “should do”.
He told Times Radio: “Quite rightly I'm a dinosaur now. I'm white, I'm middle-aged, I'm male, and I'm straight.
“We are all seen through the lens of Harvey Weinstein et al. And I can feel that the opportunities are shrinking, as they should do.”
The actor – who was the Ninth Doctor and who has starred in films including Shallow Grave and 28 Days Later - said he still had bills to pay.
“I've lived off the fat of the land for 30 years of my career, but I still have to pay my mortgage, I still have to support my kids, so I don't welcome the uncertainty at all,” he said.
Eccleston said in another interview that he feels like a “failure”.
The actor said that in the 90s he had “two incredible film roles” – Jude in Jude The Obscure and Derek Bentley in Let Him Have It - and that while other actors took off in similar parts he “fell short in both those performances”.
“Those were my chances to really really hit it and have far more influence and far more control over the kind of stuff I did,” he said.
“But I also told myself yesterday that I am not finished yet,” added the star.
Watch: Christopher Eccleston reveals battle with mental illness