Faits :
A.
Le 23 août 2017, A._, ressortissant tunisien, a fait l'objet d'un contrôle de police à Villeneuve. Selon le rapport de police, il aurait fortement résisté, cherchant notamment à s'emparer de l'arme de service puis du bâton tactique d'un agent, insulté et menacé de mort les policiers. La fouille de l'intéressé et les perquisitions opérées ont permis la saisie de 13,5 g de crystal méthamphétamine, de 3,3 g d'amphétamine, de 14,5 g d'une poudre blanche non identifiée qui s'est révélée être de la caféine, de 34 g de marijuana, de 1,5 g de champignons hallucinogènes, de 966 francs, de deux balances électroniques, d'un téléphone mobile à carte prépayée et d'un lot de sachets minigrip. L'épouse de A._, B._, a fait appel à la police à huit reprises entre le 30 juin et le 22 août 2017 pour des violences domestiques. Le casier judiciaire de l'intéressé fait état de deux condamnations à des peines pécuniaires, l'une en 2009 pour violation grave des règles de la circulation routière et l'autre en 2015 pour conduite malgré une incapacité de conduire et contravention à la loi fédérale sur les stupéfiants pour avoir été en possession de 63 pilules thaïes et de 3,5 g de crystal méthamphétamine.
Le 24 août 2017, le Ministère public du canton de Vaud a ouvert une instruction pénale contre A._ pour infraction à la loi fédérale sur les stupéfiants, violence ou menace contre les autorités et les fonctionnaires, injure, dommages à la propriété et infraction à la loi fédérale sur les étrangers.
Par ordonnance du 26 août 2017, confirmée par la Chambre des recours pénale du Tribunal cantonal le 11 septembre 2017, le Tribunal des mesures de contrainte du canton de Vaud a ordonné la détention du prévenu pour une durée maximale de trois mois.
Considérant qu'il existait des risques de fuite, de réitération et de collusion, il a rejeté, en date du 9 novembre 2017, la demande de libération déposée par A._ le 30 octobre 2017 et a prolongé la détention provisoire du prévenu pour une durée maximale de deux mois, soit au plus tard jusqu'au 23 janvier 2018.
La Chambre des recours pénale a confirmé cette décision au terme d'un arrêt rendu le 30 novembre 2017 sur recours du prévenu.
B.
Agissant par la voie du recours en matière pénale, A._ demande au Tribunal fédéral de réformer cet arrêt en ce sens que la demande de prolongation de la détention avant jugement au 23 janvier 2018 du procureur est rejetée et qu'il est remis en liberté moyennant, le cas échéant, une mesure de substitution sous la forme d'un contrôle régulier d'abstinence aux stupéfiants auprès d'un organe officiel, à déterminer par le tribunal, et un suivi psychiatrique de ses problèmes de dépendance et de dépression auprès du Dr C._ qui sera invité à renseigner régulièrement l'autorité au sujet de la régularité du suivi.
Le Ministère public central et la Chambre des recours pénale ont renoncé à déposer des observations.
Considérant en droit :
1.
Le recours en matière pénale (art. 78 al. 1 LTF) est ouvert contre les décisions relatives à la détention provisoire au sens des art. 212 ss CPP. Formé en temps utile (art. 100 al. 1 LTF) contre une décision prise en dernière instance cantonale (art. 80 LTF) et qui touche le recourant dans ses intérêts juridiquement protégés (art. 81 al. 1 let. a et b ch. 1 LTF), le recours est recevable. Il en va de même des conclusions (art. 107 al. 2 LTF).
2.
Une mesure de détention provisoire n'est compatible avec la liberté personnelle (art. 10 al. 2 Cst. et 5 CEDH) que si elle repose sur une base légale (art. 31 al. 1 et 36 al. 1 Cst.), soit en l'espèce l'art. 221 CPP. Elle doit en outre correspondre à un intérêt public et respecter le principe de la proportionnalité (art. 36 al. 2 et 3 Cst.). Pour que tel soit le cas, la privation de liberté doit être justifiée par les besoins de l'instruction, un risque de fuite ou un danger de collusion ou de réitération (cf. art. 221 al. 1 let. a, b et c CPP). Préalablement à ces conditions, il doit exister à l'égard de l'intéressé des charges suffisantes, soit de sérieux soupçons de culpabilité (art. 221 al. 1 CPP; art. 5 par. 1 let. c CEDH).
3.
Le recourant conteste l'existence de soupçons suffisants propres à justifier la prolongation de sa détention provisoire.
3.1. Pour qu'une personne soit placée ou maintenue en détention provisoire, il doit exister à son égard des indices sérieux de culpabilité, c'est-à-dire des raisons plausibles de la soupçonner d'avoir commis une infraction. Il n'appartient cependant pas au juge de la détention de procéder à une pesée complète des éléments à charge et à décharge et d'apprécier la crédibilité des personnes qui mettent en cause le prévenu. Il doit uniquement examiner s'il existe des indices sérieux de culpabilité justifiant une telle mesure. Des soupçons, même encore peu précis, peuvent être suffisants dans les premiers temps de l'enquête. En revanche, la perspective d'une condamnation doit apparaître vraisemblable après l'accomplissement des actes d'instruction envisageables (ATF 137 IV 122 consid. 3.2 p. 126). A l'instar du juge du séquestre, le juge de la détention n'est toutefois pas tenu, à ce stade de la procédure, de résoudre des questions juridiques complexes (ATF 141 IV 360 consid. 3.2 p. 364; arrêt 1B_211/2017 du 27 juin 2017 consid. 2.1).
3.2. La Chambre des recours pénale a considéré que la quantité de crystal méthamphétamine saisie, supérieure à 13 gr, n'était pas négligeable et que l'on pouvait douter qu'elle était destinée à la seule consommation personnelle du prévenu oscillant, selon ce dernier, quotidiennement entre 0,2 et 0,3 g. Par ailleurs, les perquisitions avaient permis la saisie de deux balances électroniques, d'une poudre blanche non identifiée qui serait, selon les dires du recourant, de la caféine destinée à couper la drogue, d'un lot de sachets minigrip vides, d'un téléphone mobile à carte prépayée et de 966 fr. en liquide. La quantité importante de marijuana saisie dans un casier de consigne de la gare de Montreux, dont le recourant détenait la clé, suggérait également qu'il pourrait s'adonner à un trafic de cette substance pour financer sa propre consommation de stupéfiants. Enfin, depuis sa mise en détention, le recourant avait fait l'objet de trois mises en cause pour s'être livré à un trafic de crystal méthamphétamine, qui venaient conforter les indices de soupçons sérieux d'infraction grave à la loi fédérale sur les stupéfiants déjà disponibles.
Le recourant conteste l'existence d'indices de culpabilité suffisants pour retenir une infraction grave à la loi fédérale sur les stupéfiants susceptible d'entraîner une privation de liberté d'une année au minimum. La quantité pure de méthamphétamines saisies s'élèverait à 9,84 g selon le rapport d'analyse toxicologique du 31 octobre 2017, et non à 13 g comme l'a retenu à tort la Chambre des recours pénale, et se situerait en-deçà du seuil de 12 g évoqué par certaines études pour un cas grave. L'expertise aurait en outre confirmé que les 14,5 g de poudre blanche sont bien de la caféine comme il l'a toujours affirmé. Les 16 g de marijuana saisis ne permettraient pas davantage de retenir un cas grave. Quant aux déclarations de D._, qui l'implique dans un trafic de crystal méthamphétamine et de pilules thaïes, elles ont été réfutées par les autres personnes auxquelles il se référait et ne seraient pas crédibles.
3.3. Il est vrai que l'on ne saurait conclure à l'existence d'un cas grave au sens de l'art. 19 ch. 2 let. a de la loi fédérale sur les stupéfiants sur la base des quantités de crystal méthamphétamine et de marijuana saisies. A._ a acheté la drogue en sa possession le jour de son interpellation à E._. Cette dernière soutient lui avoir vendu 20 g de crystal pour la somme de 3'000 fr., ce que le recourant conteste, parlant de 15 g payés moyennant la remise de 1'000 fr. en liquide et d'un Mac Book pro. Il appartiendra au juge du fond de trancher cette divergence. Cela étant, la cour cantonale pouvait admettre que la quantité de crystal méthamphétamine saisie dépassait la simple consommation personnelle quotidienne du recourant et qu'une partie était destinée à la revente. A._ est mis en cause dans un trafic de crystal méthamphétamine et de pilules thaïes par D._, qui affirme que le recourant aurait vendu du crystal à son ex-petite amie F._ et qu'il lui aurait également acheté 100 à 200 fr. de crystal avec G._ et H._. Certes, ces derniers n'ont pas confirmé ces accusations. Toutefois, la crédibilité des témoignages devra être appréciée par le juge du fond. I._ a déclaré avoir acheté du crystal au recourant, durant l'été 2017, deux ou trois fois à coup de 50 fr., ce qui représentait entre 0,1 et 0,2 g. Entendu le 15 novembre 2017, J._ a déclaré avoir recommencé à prendre du crystal méthamphétamine en 2016 après avoir rencontré le recourant qu'il a décrit comme son principal fournisseur étant donné qu'il ne connaissait personne d'autre à part E._; ainsi, le recourant lui aurait vendu 5 g au total par dose de 0,1 ou 0,2 g. et il aurait échangé des pilules thaïes contre 1 g de crystal. Le recourant conteste ces accusations et a demandé à être confronté à leur auteur. Il appartiendra également au juge du fond d'apprécier la crédibilité de ce témoignage à charge. La cour cantonale pouvait également voir un indice de l'implication du recourant dans un trafic de stupéfiants dans le fait que des balances électroniques, de la caféine destinée à couper la drogue, des sachets minigrip vides et de la marijuana ont été saisis. Tous ces éléments pouvaient amener, à ce stade de la procédure, à douter que le recourant était un simple consommateur de crystal méthamphétamine et à conclure à des soupçons fondés d'un cas grave d'infraction à la loi fédérale sur les stupéfiants. Au demeurant, comme le précise le Procureur dans sa demande de prolongation de la détention, les investigations visant à déterminer l'ampleur de l'activité du prévenu sont en cours. La police a procédé à l'extraction et à l'examen des données du portable dans le courant du mois de décembre 2017. En l'état de la procédure, la cour cantonale pouvait conclure à la présence d'indices suffisants d'infraction grave à la loi fédérale sur les stupéfiants.
3.4. Le recourant conteste également l'existence de soupçons graves de culpabilité en lien avec l'infraction de violence et menaces contre les fonctionnaires. Il affirme qu'il n'avait pas l'intention de se soustraire à un contrôle d'identité et d'empêcher la police de procéder à son interpellation même si tel pouvait sembler le cas au vu de ses réactions disproportionnées qu'il impute à la consommation de méthamphétamines. Il n'aurait également jamais tenté de prendre l'arme de service et le bâton tactique du gendarme ni craché au visage des policiers, comme le montrent les images de la vidéo-surveillance. Il appartiendra au juge du fond d'apprécier les versions en présence sur la base de l'ensemble des éléments au dossier et de se prononcer sur l'élément subjectif de l'intention. On relèvera que les témoins ont confirmé les menaces et les violences à l'égard des policiers, ce qui suffit à retenir, en l'état, des soupçons suffisants d'une infraction à l'art. 285 al. 1 CP. Sur ce point, l'arrêt attaqué échappe à la critique.
4.
Le recourant soutient que les conditions des risques de fuite et de réitération ne sont pas remplies à ce stade et que les mesures de substitution proposées sous la forme d'une abstinence aux stupéfiants et d'un suivi psychiatrique permettraient de remédier à une éventuelle récidive de comportements violents.
4.1. Selon la jurisprudence, le risque de fuite au sens de l'art. 221 al. 1 let. a CPP doit s'analyser en fonction d'un ensemble de critères tels que le caractère de l'intéressé, sa moralité, ses ressources, ses liens avec l'Etat qui le poursuit ainsi que ses contacts à l'étranger, qui font apparaître le risque de fuite non seulement possible, mais également probable (ATF 117 Ia 69 consid. 4a p. 70). La gravité de l'infraction ne peut pas, à elle seule, justifier la prolongation de la détention, même si elle permet souvent de présumer un danger de fuite en raison de l'importance de la peine dont le prévenu est menacé (ATF 125 I 60 consid. 3a p. 62; 117 Ia 69 consid. 4a p. 70).
Quant au risque de récidive, selon l'art. 221 al. 1 let. c CPP, il peut être admis à trois conditions: en premier lieu, le prévenu doit en principe déjà avoir commis des infractions (crimes ou délits graves) du même genre; deuxièmement, la sécurité d'autrui doit être sérieusement compromise; troisièmement, une réitération doit, sur la base d'un pronostic, être sérieusement à craindre.
Bien qu'une application littérale de cette disposition suppose la présence d'antécédents, le risque de réitération peut être également admis dans des cas particuliers alors qu'il n'existe qu'un antécédent, voire aucun dans les cas les plus graves. La prévention du risque de récidive doit en effet permettre de faire prévaloir l'intérêt à la sécurité publique sur la liberté personnelle du prévenu (ATF 137 IV 13 consid. 3-4 p. 18). Le risque de récidive peut également se fonder sur les infractions faisant l'objet de la procédure pénale en cours, si le prévenu est fortement soupçonné - avec une probabilité confinant à la certitude - de les avoir commises (ATF 143 IV 9 consid. 2.3.1; 137 IV 84 consid. 3.2 p. 86). La gravité de l'infraction dépend de la nature du bien juridique menacé et du contexte, notamment la dangerosité présentée concrètement par le prévenu, respectivement son potentiel de violence. La mise en danger sérieuse de la sécurité d'autrui par des crimes ou des délits graves peut en principe concerner tous types de biens juridiquement protégés, même si ce sont en premier lieu les délits contre l'intégrité corporelle et sexuelle qui sont visés. Pour établir le pronostic de récidive, les critères déterminants sont la fréquence et l'intensité des infractions poursuivies. Cette évaluation doit prendre en compte une éventuelle tendance à l'aggravation telle qu'une intensification de l'activité délictuelle, une escalade de la violence ou une augmentation de la fréquence des agissements. Les caractéristiques personnelles du prévenu doivent en outre être évaluées. Lorsqu'on dispose d'une expertise psychiatrique ou d'un pré-rapport, il y a lieu d'en tenir compte. En règle générale, la mise en danger de la sécurité d'autrui est d'autant plus grande que les actes redoutés sont graves. En revanche, le rapport entre gravité et danger de récidive est inversement proportionnel. Cela signifie que plus l'infraction et la mise en danger sont graves, moins les exigences seront élevées quant au risque de réitération. Lorsque la gravité des faits et leurs incidences sur la sécurité sont particulièrement élevées, on peut ainsi admettre un risque de réitération à un niveau inférieur. Il demeure qu'en principe, le risque de récidive ne doit être admis qu'avec retenue comme motif de détention. Dès lors, un pronostic défavorable est nécessaire (et en principe également suffisant) pour admettre l'existence d'un tel risque (ATF 143 IV 9 consid. 2 p. 11).
A teneur de l'art. 197 al. 1 let. c CPP, qui concrétise le principe de la proportionnalité, les mesures de contrainte ne peuvent être prises que si les buts poursuivis ne peuvent pas être atteints par des mesures moins sévères. L'art. 212 al. 2 let. c CPP rappelle cette exigence en prévoyant que les mesures de contrainte entraînant une privation de liberté doivent être levées dès que des mesures de substitution permettent d'atteindre le même but. L'art. 237 al. 1 CPP prévoit que le tribunal compétent ordonne une ou plusieurs mesures moins sévères en lieu et place de la détention provisoire ou de la détention pour des motifs de sûreté si ces mesures permettent d'atteindre le même but que la détention. Selon l'alinéa 2 de cette disposition, font notamment partie des mesures de substitution l'obligation de se soumettre à un traitement médical ou à des contrôles (let. f).
4.2. Le recourant soutient que seuls des soupçons d'infraction simple à la loi fédérale sur les stupéfiants entreraient en ligne de compte au vu des éléments de preuve versés au dossier et de la déclaration faite par le Procureur à l'audience du Tribunal des mesures de contrainte. L'infraction à la loi fédérale sur les étrangers ne saurait être retenue. Le Service cantonal de la population a précisé qu'il était autorisé à séjourner en Suisse dans l'attente du renouvellement de son permis de séjour auquel il aurait droit vu qu'il est marié avec une suissesse qui a retiré toutes les plaintes pénales déposées à son encontre pour des violences conjugales et qui entend poursuivre leur relation. Il s'exposerait ainsi tout au plus à une peine avec sursis qui devrait être proche de celle déjà subie. Il était faux de prétendre que son frère K._, domicilié en Suisse, était prêt à lui remettre une somme importante pour lui permettre de refaire sa vie en Tunisie alors que cette offre émanait d'un autre frère résidant dans ce pays. Au surplus, la Chambre des recours pénale aurait omis de préciser qu'il avait décliné cette offre, préférant rester en Suisse auprès de son épouse. Ces éléments ne permettent pas de remettre en cause l'appréciation de la cour cantonale quant au risque de fuite.
Il existe des soupçons suffisants de culpabilité en lien avec les infractions à la loi fédérale sur les stupéfiants et de violences et menaces contre les fonctionnaires et le recourant s'expose à une peine privative de liberté qui pourrait être supérieure à la détention provisoire subie à ce jour si les éléments à charge en rapport avec un trafic de méthamphétamines devaient se renforcer. Les liens que le recourant entretient avec la Suisse ne sont pas aussi solides qu'il veut le faire croire. Son épouse a certes consenti à ce que soit suspendue pour six mois la procédure pénale ouverte contre lui à la suite des plaintes qu'elle avait déposées pour les violences domestiques subies durant l'été 2017, et laissé entendre qu'elle entendait poursuivre la vie commune. Il n'en demeure pas moins que le recourant a été refoulé du domicile conjugal en raison de son comportement violent attesté également par des témoins. On peut ainsi admettre que les liens avec son épouse restent fragiles en l'état. Le recourant ne dispose d'aucun travail qui lui assurerait un revenu régulier et dépend de l'aide que lui fournissent son frère K._ domicilié en Valais et d'autres membres de sa famille qui vivent en Tunisie, dont son père. Le fait qu'il puisse bénéficier à nouveau d'une autorisation de séjour en Suisse en raison de son mariage avec une suissesse et qu'il ait refusé l'offre présentée par un autre frère résidant en Tunisie de refaire sa vie dans son pays d'origine ne permet pas d'atténuer le risque de fuite résultant de ces circonstances.
Le recourant ne propose aucune mesure de substitution propre à pallier le risque de fuite, celles proposées étant destinées à parer au danger de récidive. Cela étant, son maintien en détention provisoire se justifie pour ce motif déjà.
4.3. A._ conteste également en vain l'existence d'un risque de réitération, au sens de l'art. 221 al. 1 let. c CPP, qui pourrait être pallié par la mise en place d'une abstinence aux stupéfiants et d'un suivi thérapeutique auprès du Dr C._.
Le recourant a déjà été condamné pour contravention à la loi fédérale sur les stupéfiants pour avoir été en possession de pilules thaïes et de crystal méthamphétamine. Il a déclaré consommer quotidiennement du crystal lorsqu'il a été interpelé. Il est soupçonné de s'être livré à un trafic de produits stupéfiants pour financer sa consommation de drogue. Le recourant a en outre fait preuve de menaces verbales et de violences physiques à l'encontre des agents de police lors de son interpellation. Les violences envers son épouse ne sont par ailleurs pas contestées. J._ a précisé que le recourant était quelqu'un de nerveux et de violent avec les femmes et qu'il avait dû intervenir à une reprise car il tenait son épouse par la gorge et bloquait sa belle-mère contre la porte. Il existe ainsi un danger que le recourant ne consomme à nouveau de la drogue et fasse preuve de violence s'il était remis en liberté.
Les mesures de substitution proposées sous la forme d'une abstinence aux stupéfiants et d'un suivi thérapeutique auprès du Dr C._ ne sont pas propres à pallier le risque de réitération. Selon le rapport établi par ce praticien le 11 septembre 2017, le recourant avait demandé en 2015 un suivi psychothérapeutique pour des problématiques d'ordre psycho-sociales et une addiction aux méthamphétamines, dont la consommation le plongeait dans des état paranoïaques assez prononcés avec une tendance à perdre le contrôle et à réagir violemment s'il se sentait acculé ou injustement attaqué. Ce suivi psychothérapeutique s'est déroulé seulement sur quelques séances et a été interrompu par le patient qui ne s'est plus présenté aux rendez-vous et n'a plus donné de nouvelles. Cela étant, dans les présentes circonstances, si le recourant dit avoir conscience de son état, rien n'indique qu'il se soumettra à un nouveau suivi psychothérapeutique ni qu'une telle mesure soit suffisante, au vu de ses antécédents et de sa situation personnelle, pour remédier au risque qu'il consomme à nouveau des méthamphétamines à sa sortie de prison et qu'il se montre violent à l'égard de son épouse ou d'autres personnes.
5.
Le recours est rejeté. Les conditions posées à l'art. 64 al. 1 LTF étant réunies, il convient de mettre le recourant au bénéfice de l'assistance judiciaire, de lui désigner Me Kathrin Gruber en tant qu'avocate d'office et de lui allouer une indemnité à titre d'honoraires, qui seront supportés par la caisse du tribunal. Il n'est pas perçu de frais judiciaires (art. 64 al. 1 LTF), ni alloué de dépens (art. 68 al. 3 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demande d'assistance judiciaire est admise. Me Kathrin Gruber est désignée comme avocate d'office du recourant et une indemnité de 1'500 fr. lui est allouée à titre d'honoraires, à payer par la caisse du Tribunal fédéral. Il n'est pas perçu de frais judiciaires.
3.
Le présent arrêt est communiqué à la mandataire du recourant, ainsi qu'au Ministère public central et à la Chambre des recours pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 11 janvier 2018
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Merkli
Le Greffier : Parmelin