Faits :
A.
Par jugement du 8 septembre 2020, le Tribunal criminel de l'arrondissement de Lausanne a reconnu A._ coupable de tentative de lésions corporelles graves par dol éventuel et de contravention à la loi fédérale sur les stupéfiants et l'a condamné à une peine privative de liberté de 3 ans, dont 18 mois fermes, sous déduction de 219 jours de détention avant jugement, et le solde par 18 mois avec sursis pendant 5 ans, et à une amende de 700 fr., la peine privative de liberté de substitution en cas de non-paiement fautif de l'amende étant de 7 jours. Il a ordonné l'expulsion de A._ du territoire suisse pour une durée de 7 ans.
Par ce même jugement, le tribunal a reconnu B._ coupable, entre autres, de tentative de lésions corporelles graves par dol éventuel.
B.
Par jugement du 2 février 2021, la Cour d'appel pénale du Tribunal cantonal vaudois a rejeté les appels formés par B._ et A._ et confirmé le jugement de première instance.
La cour cantonale a retenu les faits suivants s'agissant des infractions encore contestées devant le Tribunal fédéral.
B.a. Le 9 novembre 2019 vers 02h00, à U._, devant l'Etablissement C._, B._, qui dissimulait ses mains dans ses poches car il tenait la lame d'un ciseau dans sa main droite, et A._ - lesquels avaient consommé de l'alcool et étaient accompagnés de trois autres individus qui n'ont pas pu être identifiés - se sont approchés de D._ - qui était avec E._ - pour s'en prendre physiquement à lui de manière à mettre fin à ses jours. Constatant cela, D._ a entouré l'une de ses mains de sa ceinture (avec la boucle devant) dans une posture défensive, tout en reculant pour s'éloigner de B._, de A._ et des trois autres individus qui les accompagnaient. Quant à E._, il est allé vers B._ pour tenter de le calmer, mais en vain.
Ayant reculé jusqu'à la file d'attente d'entrée à l'Etablissement C._, D._, qui portait une veste épaisse, a été rejoint par B._ et A._, qui avait enroulé, lui aussi, sa ceinture autour de sa main avec la boucle en avant. B._ a soudainement sorti ses mains de ses poches et violemment asséné une dizaine de coups à D._ avec la lame de ciseau qu'il tenait dans sa main droite. D._ a tenté de se protéger en mettant son épaule gauche puis son dos en avant et en baissant sa tête contre une barrière de l'Etablissement C._. Simultanément, A._ a pris à revers D._ et lui a asséné plusieurs coups au moyen de sa ceinture qu'il tenait comme un fouet avec la boucle en avant. Lors de ces faits, E._ a tenté de calmer les prévenus pour qu'ils cessent de s'en prendre à leur victime, mais en vain. Seule l'intervention des agents de sécurité de l'Etablissement C._ a mis fin à l'agression que subissait D._.
B.b. La nuit même, D._ a consulté le service des urgences du CHUV, qui a constaté trois plaies de 1 cm au niveau du deltoïde gauche, une plaie de 0,7 cm au trapèze gauche, une plaie de 0,3 cm au trapèze droit et deux plaies très superficielles de 0,5 cm au niveau dorsal gauche. D._ présentait aussi des douleurs à l'épaule gauche avec fonctionnalité réduite. Il a bénéficié d'une exploration des plaies, d'un nettoyage et de "suture large".
Le 9 novembre 2019, D._ a été soumis à un examen clinique par le Centre universitaire de médecine légale du CHUV, qui a constaté notamment une plaie linéaire à bords réguliers et adaptables, de 0,6 cm de long, croûteuse brune au cou, une croûte brune de 0,2 cm de diamètre en région sous-claviculaire gauche, une plaie à bords réguliers de 0,8 cm de long à la jonction entre la région scapulaire haute et l'épaule gauche, deux plaies à bords réguliers et adaptables laissant apparaître du tissu sous-cutané et mesurant au maximum 1,1 cm de long en région scapulaire gauche, trois plaies sur l'épaule gauche, grossièrement ovales, à bords réguliers et adaptables laissant apparaître les tissus sous-cutanés légèrement hémorragiques, mesurant au maximum 1 cm de grand axe.
B.c. A._ est né en 1988 au Cap-Vert, pays dont il est ressortissant. Il est resté dans son pays jusqu'à l'âge de 6 ans avec sa grand-mère, avant de venir s'installer en Suisse, rejoignant ses parents. Il est titulaire d'un titre de séjour de type C. Il est célibataire et a une fille, âgée de 10 ans, dont il s'occupe un week-end sur deux ainsi que lors des vacances scolaires. La contribution d'entretien pour sa fille s'élève à environ 750 fr., et il la paie quand il peut, selon ses dires. Il dit avoir travaillé dans la restauration, n'avoir pas de formation professionnelle achevée, et qu'il a également travaillé comme peintre, mais que cela fait 4 ou 5 ans qu'il ne le fait plus. Il explique ne pas trouver de travail et vouloir - comme déjà en 2015 - reprendre une activité de peintre sans succès. Il précise avoir aidé sa mère à s'occuper de son père handicapé, décédé en janvier 2021. Il dit ne plus avoir de famille au Cap-Vert.
B.d. Selon l'extrait de son casier judiciaire suisse, A._ a été condamné le 2 septembre 2013 à une peine pécuniaire de 60 jours-amende et à une amende de 400 fr. pour voies de fait, dommages à la propriété, injure et dénonciation calomnieuse, le 28 octobre 2016 à une peine pécuniaire de 30 jours-amende et à une amende de 200 fr. pour dommages à la propriété et contravention à la loi fédérale sur les chemins de fer, et le 9 octobre 2018 à une peine pécuniaire de 45 jours-amende pour détournement de valeurs patrimoniales et mises sous main de justice. Il a également été condamné le 21 juin 2019 à une peine pécuniaire de 100 jours-amende et à une amende de 300 fr. pour dommages à la propriété, dommages à la propriété (attroupement en public), émeute et violence ou menace contre les autorités et les fonctionnaires. Enfin, il a été condamné le 21 octobre 2019 à une peine pécuniaire de 90 jours-amende pour violation d'une obligation d'entretien.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 2 février 2021. Il conclut, avec suite de frais et dépens, à sa réforme en ce sens qu'il est libéré du chef de tentative de lésions corporelles graves par dol éventuel et que son expulsion du territoire suisse est annulée.

Considérant en droit :
1.
Le recourant se plaint d'un établissement inexact des faits et invoque à cet égard une violation du principe "in dubio pro reo". Il conteste avoir eu connaissance de l'objet dangereux dont s'est servi B._.
1.1. Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (<ref-law>), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, soit pour l'essentiel de façon arbitraire au sens de l'art. 9 Cst. Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation mais aussi dans son résultat (<ref-ruling> consid. 1.3.1 p. 91 s.; <ref-ruling> consid. 1.1 p. 155 s.; <ref-ruling> consid. 1.1 p. 503; sur la notion d'arbitraire v. <ref-ruling> consid. 2.3.1 p. 244). Le Tribunal fédéral n'entre en matière sur les moyens fondés sur la violation de droits fondamentaux, dont l'interdiction de l'arbitraire, que s'ils ont été invoqués et motivés de manière précise (<ref-law>; ATF <ref-ruling> consid. 1.1 p. 503). Les critiques de nature appellatoire sont irrecevables (<ref-ruling> consid. 1.3.1 p. 92; <ref-ruling> consid. 1.1 p. 156). Lorsque l'appréciation des preuves et la constatation des faits sont critiquées en référence à la présomption d'innocence (art. 6 par. 2 CEDH, 32 al. 1 Cst. et 10 CPP), le principe "in dubio pro reo" n'a pas de portée plus large que l'interdiction de l'arbitraire (ATF <ref-ruling> consid. 1.1 p. 156; <ref-ruling> consid. 1.1 p. 503).
Déterminer ce qu'une personne a su, voulu, envisagé ou accepté relève du contenu de la pensée, à savoir de faits "internes", qui, en tant que faits, lient le Tribunal fédéral (<ref-law>), à moins qu'ils aient été retenus de manière arbitraire (<ref-ruling> consid. 12 p. 152; <ref-ruling> consid. 6.3 p. 375; <ref-ruling> consid. 2.3.2 p. 156).
1.2. Le recourant reproche à la cour cantonale de s'être référée au jugement de première instance et d'avoir retenu qu'il avait connaissance de la lame de ciseau dont s'était servi son coaccusé, sans indiquer sur quels indices elle se fondait.
Il ressort du jugement attaqué que la cour cantonale a retenu, à l'instar du tribunal de première instance, que le recourant s'était pleinement associé à l'intention de son comparse (cf. infra consid. 2.4) - qui a agressé la victime avec une lame de ciseau - et donc, implicitement, qu'il savait que celui-ci était muni d'un objet dangereux. Cela ressort également de la motivation du jugement du Tribunal criminel auquel la cour cantonale fait référence et qui retient que le recourant, qui avait été avec B._ absolument tout le temps, ne pouvait pas ne pas avoir vu l'objet clairement dangereux dont ce dernier s'était servi (jugement du 8 septembre 2020, p. 36).
Le recourant soutient en vain que ce n'est pas parce qu'il a "partagé quelques heures" avec son co-prévenu qu'il savait que celui-ci avait une lame de ciseau dans sa poche. En effet, le fait que le recourant a passé beaucoup de temps avec B._ avant l'agression, à chercher la victime en restant tout le temps ensemble, constitue un indice tendant à démontrer qu'il savait que l'intéressé détenait une lame de ciseau. En outre, le recourant ne saurait être suivi lorsqu'il soutient que le jugement attaqué ne se fonde sur aucun autre indice. En effet, la cour cantonale a retenu - sans que l'arbitraire ne soit démontré - qu'il y avait eu une concertation préalable à l'agression entre les intéressés, les images de vidéo-surveillance de l'agression ne montrant d'ailleurs aucune hésitation ou temps mort. C'est dès lors en vain que le recourant soutient que cette "connaissance" supposerait un plan dont l'existence n'aurait nullement été établie. Par ailleurs, il ressort du jugement attaqué que le déroulement même de l'agression permet également de retenir que le recourant avait conscience de la lame de ciseau utilisée par son comparse. En effet, au moment de l'infraction, le recourant a frappé la victime de plusieurs coups de ceinture alors que B._ assénait une dizaine de coups à celle-ci avec la lame de ciseau qu'il détenait, lui causant sept plaies au cou, à l'épaule, dans la région sous claviculaire et au dos.
Pour le surplus, en tant que le recourant soutient qu'aucune des vidéos de caméras de surveillance ne permet d'établir qu'il savait que B._ "dissimulait" une lame de ciseau, il oppose sa propre appréciation des preuves à celle de la cour cantonale sans démontrer en quoi le raisonnement de celle-ci serait arbitraire, de sorte que son argumentation est irrecevable. En outre, le seul fait que le témoin E._ ait déclaré ne pas avoir vu d'objet dans les mains de B._ ne suffit pas à établir que le recourant ignorait l'existence dudit objet. Il en va de même du fait que le prénommé aurait déclaré qu'il ne "pens[ait] pas" que le recourant en avait connaissance.
Au vu de ce qui précède, il n'était ni arbitraire ni contraire au principe "in dubio pro reo" de retenir que le recourant avait connaissance de l'objet dangereux dont s'est servi B._.
2.
Le recourant soutient que sa condamnation pour tentative de lésions corporelles graves par dol éventuel en qualité de coauteur viole le droit fédéral. Il fait en particulier grief à la cour cantonale d'avoir méconnu la notion de coactivité.
2.1. Se rend coupable de lésions corporelles graves au sens de l'<ref-law> celui qui aura blessé une personne de façon à mettre sa vie en danger, celui qui aura mutilé le corps d'une personne, un de ses membres ou un de ses organes importants ou causé à une personne une incapacité de travail, une infirmité ou une maladie mentale permanentes, ou aura défiguré une personne d'une façon grave et permanente, ou celui qui aura fait subir à une personne toute autre atteinte grave à l'intégrité corporelle ou à la santé physique.
2.2. Il y a tentative lorsque l'auteur a réalisé tous les éléments subjectifs de l'infraction et manifesté sa décision de la commettre, alors que les éléments objectifs font, en tout ou en partie, défaut (<ref-law>; <ref-ruling> consid. 3.4 p. 152; <ref-ruling> consid. 1.4.2 p. 115; <ref-ruling> consid. 7.2.1 p. 103; arrêt 6B_1431/2020 du 8 juillet 2021 consid. 3.2).
La tentative suppose toujours un comportement intentionnel, le dol éventuel étant toutefois suffisant. Il y a dol éventuel lorsque l'auteur tient pour possible la réalisation de l'infraction et l'accepte au cas où celle-ci se produirait, même s'il ne le souhaite pas (<ref-law>; <ref-ruling> consid. 4.2.3 p. 4; <ref-ruling> consid. 2.3.2 p. 156). Il faut donc qu'il existe un risque qu'un dommage puisse résulter de l'infraction, mais encore que l'auteur sache que ce danger existe (Wissensmoment) et qu'il s'accommode de ce résultat (Willensmoment), même s'il préfère l'éviter (cf. arrêts 6B_1151/2020 du 8 avril 2021 consid. 2.2; 6B_139/2020 du 1er mai 2020 consid. 2.3).
2.3. Est un coauteur celui qui collabore, intentionnellement et de manière déterminante, avec d'autres personnes à la décision de commettre une infraction, à son organisation ou à son exécution, au point d'apparaître comme l'un des participants principaux; il faut que, d'après les circonstances du cas concret, la contribution du coauteur apparaisse essentielle à l'exécution de l'infraction. La seule volonté quant à l'acte ne suffit pas; il n'est toutefois pas nécessaire que le coauteur ait effectivement participé à l'exécution de l'acte ou qu'il ait pu l'influencer. La coactivité suppose une décision commune, qui ne doit cependant pas obligatoirement être expresse, mais peut aussi résulter d'actes concluants, le dol éventuel quant au résultat étant suffisant. Il n'est pas nécessaire que le coauteur participe à la conception du projet; il peut y adhérer ultérieurement. Il n'est pas non plus nécessaire que l'acte soit prémédité; le coauteur peut s'y associer en cours d'exécution. Ce qui est déterminant c'est que le coauteur se soit associé à la décision dont est issue l'infraction ou à la réalisation de cette dernière, dans des conditions ou dans une mesure qui le font apparaître comme un participant non pas secondaire, mais principal (<ref-ruling> consid. 9.2.1; <ref-ruling> consid. 3a).
2.4. La cour cantonale a relevé qu'il ressortait des images de vidéo-surveillance que le recourant s'acharnait avec B._ sur la victime, en la frappant à coups de ceinture alors qu'en même temps celle-ci devait tenter de parer aux coups de lame du prénommé. Elle a retenu que ce déroulement attestait indéniablement d'une concertation préalable à l'agression, les images ne montrant d'ailleurs aucune hésitation ou temps mort. Les deux prévenus avaient agressé en même temps la victime en déployant, chacun avec un objet différent, la même violence sauvage et répétée. Ils avaient continué malgré les tentatives d'un ami de la victime de les calmer et ce n'était finalement que l'intervention des agents de sécurité de l'Etablissement C._ qui avait permis de faire cesser l'agression. La cour cantonale a également retenu la coaction sur la base du fait que les deux prévenus étaient partis à la recherche de leur victime ensemble et que, même si le mobile de vengeance concernait B._, son comparse l'approuvait manifestement et avait choisi, en connaissance de cause, d'apporter son soutien. Elle en a conclu que la participation du recourant à l'agression avait donc été décisive et que c'était à juste titre qu'il avait été qualifié de coauteur, les premiers juges ayant retenu que le recourant s'était pleinement associé à l'intention de son comparse.
2.5. Le recourant soutient que sa participation n'a pas été déterminante. Il prétend que son comportement et ses agissements n'ont exercé aucune influence sur les coups portés à l'aide d'une lame de ciseau par B._, sur la base desquels a été retenue la qualification de tentative de lésions corporelles graves.
Les éléments retenus sans arbitraire par la cour cantonale et avancés pour fonder la coactivité (concertation préalable à l'infraction, agression de la victime en même temps chacun avec un objet différent, mobile de vengeance) sont pertinents et permettent à la cour de retenir sans violation du droit fédéral que la contribution du recourant a été essentielle à l'exécution de l'infraction. Le grief est rejeté.
2.6. Le recourant soutient ensuite que, dans la mesure où les deux comparses ont attaqué la victime en même temps, il était "impossible" de prendre une décision commune. Ce faisant, il oppose sa propre appréciation des faits à celle de la cour cantonale, qui a retenu - sans que l'arbitraire ne soit démontré - qu'il y avait eu une concertation préalable à l'agression entre les intéressés. Au demeurant, il ressort du jugement attaqué que le recourant a continué à frapper la victime à coups de ceinture alors que B._ la frappait brutalement à réitérées reprises avec la lame de ciseau, lui causant de nombreuses plaies.
2.7. Enfin, le recourant fait valoir que, même dans l'hypothèse où il aurait eu connaissance de l'existence de la lame de ciseau, il ne pouvait pas prédire sur quelle partie du corps de la victime B._ l'utiliserait.
Ce raisonnement ne saurait être suivi. D'une part, il ressort des faits du jugement attaqué qui lient le Tribunal fédéral que le recourant et son comparse se sont rapprochés de D._ pour s'en prendre physiquement à lui de manière à mettre fin à ses jours (cf. jugement attaqué, p. 17). D'autre part, s'il est vrai que le recourant n'a pas lui-même utilisé la lame de ciseau, les deux coaccusés se sont concertés avant que le recourant frappe la victime avec des coups de ceinture avec la boucle en avant, alors que B._ assénait une dizaine de coups avec la lame de ciseau sur le haut du corps de la victime, à proximité de ses organes vitaux. La cour cantonale pouvait dès lors sans violer le droit fédéral retenir que le recourant avait accepté, à tout le moins par dol éventuel, le risque de blesser gravement la victime.
Compte tenu de ce qui précède, la condamnation dans le cas d'espèce du recourant pour tentative de lésions corporelles graves par dol éventuel en qualité de coauteur ne prête pas flanc à la critique, le recourant ne formulant par ailleurs aucun grief dûment motivé s'agissant d'une éventuelle violation des art. 22 et 122 CP.
3.
Le recourant ne formule aucun grief relatif à la peine prononcée, de sorte qu'il n'y a pas lieu d'examiner ce point plus avant (<ref-law>).
4.
Le recourant reproche à la cour cantonale d'avoir ordonné son expulsion du territoire suisse.
4.1. Aux termes de l'<ref-law>, le juge expulse de Suisse l'étranger qui est notamment condamné pour lésions corporelles graves, quelle que soit la quotité de la peine prononcée à son encontre, pour une durée de cinq à quinze ans.
En l'espèce, le recourant, qui a été reconnu coupable de lésions corporelles graves, remplit donc a priori les conditions d'une expulsion, sous la réserve d'une application de l'<ref-law>, voire également des normes de droit international.
4.2. L'<ref-law> prévoit que le juge peut exceptionnellement renoncer à une expulsion lorsque celle-ci mettrait l'étranger dans une situation personnelle grave (première condition) et que les intérêts publics à l'expulsion ne l'emportent pas sur l'intérêt privé de l'étranger à demeurer en Suisse (deuxième condition). A cet égard, il tiendra compte de la situation particulière de l'étranger qui est né ou qui a grandi en Suisse. Les conditions posées par cette disposition sont cumulatives (<ref-ruling> consid. 3.3 p. 339).
4.2.1. La clause de rigueur permet de garantir le principe de la proportionnalité (cf. art. 5 al. 2 Cst.; <ref-ruling> consid. 3.4.2 p. 108; <ref-ruling> consid. 3.3.1 p. 340). Elle doit être appliquée de manière restrictive (<ref-ruling> consid. 3.4.2 p. 108; <ref-ruling> consid. 3.3.1 p. 340). Selon la jurisprudence du Tribunal fédéral, il convient de s'inspirer des critères énoncés à l'art. 31 al. 1 de l'ordonnance relative à l'admission, au séjour et à l'exercice d'une activité lucrative (OASA; RS 142.201) et de la jurisprudence y relative, dans le cadre de l'application de l'<ref-law>. L'art. 31 al. 1 OASA prévoit qu'une autorisation de séjour peut être octroyée dans les cas individuels d'extrême gravité. L'autorité doit tenir compte notamment de l'intégration du requérant selon les critères définis à l'art. 58a al. 1 de la loi fédérale sur les étrangers et l'intégration (LEI; RS 142.20), de la situation familiale, particulièrement de la période de scolarisation et de la durée de la scolarité des enfants, de la situation financière, de la durée de la présence en Suisse, de l'état de santé ainsi que des possibilités de réintégration dans l'État de provenance. Comme la liste de l'art. 31 al. 1 OASA n'est pas exhaustive et que l'expulsion relève du droit pénal, le juge devra également, dans l'examen du cas de rigueur, tenir compte des perspectives de réinsertion sociale du condamné (<ref-ruling> consid. 3.3.2 p. 340 s.; arrêt 6B_1369/2019 du 22 janvier 2020 consid. 2.3.1). En règle générale, il convient d'admettre l'existence d'un cas de rigueur au sens de l'<ref-law> lorsque l'expulsion constituerait, pour l'intéressé, une ingérence d'une certaine importance dans son droit au respect de sa vie privée et familiale garanti par la Constitution fédérale (art. 13 Cst.) et par le droit international, en particulier l'art. 8 CEDH (arrêts 6B_1198/2020 du 19 juillet 2021 consid. 4.2; 6B_379/2021 du 30 juin 2021 consid. 1.2; 6B_1142/2020 du 12 mai 2021 consid. 6.2.2).
4.2.2. Selon la jurisprudence, pour se prévaloir du droit au respect de sa vie privée au sens de l'art. 8 par. 1 CEDH, l'étranger doit établir l'existence de liens sociaux et professionnels spécialement intenses avec la Suisse, notablement supérieurs à ceux qui résultent d'une intégration ordinaire. Le Tribunal fédéral n'adopte pas une approche schématique qui consisterait à présumer, à partir d'une certaine durée de séjour en Suisse, que l'étranger y est enraciné et dispose de ce fait d'un droit de présence dans notre pays. Il procède bien plutôt à une pesée des intérêts en présence, en considérant la durée du séjour en Suisse comme un élément parmi d'autres et en n'accordant qu'un faible poids aux années passées en Suisse dans l'illégalité, en prison ou au bénéfice d'une simple tolérance (cf. <ref-ruling> consid. 4.3 p. 24; arrêt 6B_1198/2020 du 19 juillet 2021 consid. 4.2 et la référence citée). Un séjour légal de dix années suppose en principe une bonne intégration de l'étranger (<ref-ruling> consid. 3.9 p. 278; arrêt 6B_1198/2020 précité consid. 4.2).
Par ailleurs, un étranger peut se prévaloir de l'art. 8 par. 1 CEDH (et de l'art. 13 Cst.), qui garantit notamment le droit au respect de la vie familiale, pour s'opposer à l'éventuelle séparation de sa famille, pour autant qu'il entretienne une relation étroite et effective avec une personne de sa famille ayant le droit de résider durablement en Suisse (<ref-ruling> consid. 6.1 p. 12; <ref-ruling> consid. 2.1 p. 336 et les références citées). Les relations familiales visées par l'art. 8 par. 1 CEDH sont avant tout celles qui concernent la famille dite nucléaire, soit celles qui existent entre époux ainsi qu'entre parents et enfants mineurs vivant en ménage commun (cf. <ref-ruling> consid. 6.1 p. 12; <ref-ruling> consid. 1.3.2 p. 146).
4.2.3. Il ressort du jugement attaqué que le recourant, titulaire d'un permis C et père d'une fille de 10 ans dont il s'occupe les week-ends, est arrivé en Suisse à l'âge de 6 ans et y a depuis vécu constamment, jusqu'à l'âge adulte. Il y a lieu d'admettre qu'une expulsion du recourant porterait atteinte à son droit au respect de sa vie privée (cf. arrêts 6B_939/2020 du 4 mars 2021 consid. 3.1.3; 6B_255/2020 du 6 mai 2020 consid. 1.2.3 et la référence citée), de sorte que la première condition cumulative de l'<ref-law> est réalisée.
4.3. Il convient dès lors d'examiner si l'intérêt privé du recourant à demeurer en Suisse pouvait l'emporter sur l'intérêt public présidant à son expulsion.
4.3.1. Dans l'appréciation du cas de rigueur, l'art. 66a al. 2 2ème phrase CP impose expressément de prendre en considération la situation particulière de l'étranger qui est né ou qui a grandi en Suisse.
L'examen de la clause de rigueur doit être effectué dans chaque cas sur la base des critères d'intégration habituels (cf. <ref-ruling> consid. 3.3.2 p. 340 s.). La situation particulière des étrangers nés ou ayant grandi en Suisse est prise en compte en ce sens qu'une durée de séjour plus longue, associée à une bonne intégration - par exemple en raison d'un parcours scolaire effectué en Suisse - doit généralement être considérée comme une indication importante de l'existence d'intérêts privés suffisamment forts et donc tendre à retenir une situation personnelle grave. Lors de la pesée des intérêts qui devra éventuellement être effectuée par la suite, la personne concernée doit se voir accorder un intérêt privé plus important à rester en Suisse au fur et à mesure que la durée de sa présence augmente. A l'inverse, on peut partir du principe que le temps passé en Suisse est d'autant moins marquant que le séjour et la scolarité achevée en Suisse sont courts, de sorte que l'intérêt privé à rester en Suisse doit être considéré comme moins fort (<ref-ruling> consid. 3.4.4 p. 109 s.; arrêt 6B_939/2020 du 4 mars 2021 consid. 3.2).
4.3.2. La cour cantonale a exposé que le recourant avait déjà été condamné à cinq reprises et à nouveau pour des faits graves. Son intégration en Suisse était mauvaise puisqu'il ne travaillait pas et vivait à la charge des services sociaux. Il maîtrisait la langue de son pays d'origine, de sorte que son intégration au Cap-Vert ne serait pas moins bonne qu'en Suisse. L'autorité précédente a ainsi estimé que l'intérêt public à l'expulsion du recourant l'emportait sur son intérêt privé à rester en Suisse.
4.3.3. L'appréciation de la cour cantonale doit être suivie.
En l'espèce, les intérêts présidant à l'expulsion du recourant sont importants, compte tenu de la nature et de la gravité de l'infraction commise, celui-ci ayant porté atteinte à un bien juridique essentiel, à savoir l'intégrité corporelle. C'est en vain que le recourant soutient que ce n'est pas lui qui a administré les coups de lame de ciseau, dès lors qu'il s'est pleinement associé à l'intention de son comparse et que sa contribution a été essentielle à l'exécution de l'infraction. Sa culpabilité a été qualifiée de très lourde. En outre, la peine privative de liberté de trois ans à laquelle le recourant a été condamné dépasse largement une année, ce qui pourrait permettre une révocation de son autorisation d'établissement sur la base de l'art. 63 al. 1 let. a cum art. 62 al. 1 let. b LEI (cf. <ref-ruling> consid. 2.1 p. 147, selon lequel constitue une "peine privative de liberté de longue durée" au sens de l'art. 62 al. 1 let. b LEtr [depuis le 1er janvier 2019: LEI] toute peine dépassant un an d'emprisonnement). A cela s'ajoute que le recourant a déjà été condamné à cinq reprises. Quand bien même les infractions figurant dans son casier judiciaire étaient d'une gravité relative, force est de constater qu'elles ont porté atteinte à plusieurs biens juridiquement protégés et révèlent un mépris persistant du recourant pour les lois et l'ordre juridique suisse.
L'intérêt privé du recourant à demeurer en Suisse est certes également important, puisque ce dernier a essentiellement grandi dans ce pays et que les membres de sa famille y vivent. Cela étant, même si, comme il le soutient, il a travaillé dans le passé comme serveur et "dans le domaine de la construction", il ressort du jugement attaqué qu'il n'a pas de formation professionnelle achevée, qu'il ne travaille plus depuis plusieurs années et qu'il émarge à l'aide sociale. Il ne peut ainsi pas se prévaloir d'une bonne intégration économique et professionnelle en Suisse. Par ailleurs, en tant qu'il soutient que "ses perspectives professionnelles en Suisse sont réelles", il oppose sa propre appréciation à celle de la cour cantonale sans démontrer en quoi celle-ci serait arbitraire. En ce qui concerne les liens du recourant avec son pays d'origine, celui-ci y a vécu pendant les premières années de sa vie et, même s'il soutient ne plus y avoir de famille, il maîtrise la langue de ce pays. La cour cantonale pouvait donc retenir que les possibilités de réintégration du recourant dans son pays d'origine n'étaient pas moindres que son intégration actuelle en Suisse.
Le recourant reproche à la cour cantonale d'avoir omis qu'il avait une fille, âgée de 10 ans, dont il s'occupait un week-end sur deux ainsi que lors des vacances. Il ne ressort cependant pas du jugement attaqué qu'il aurait la garde de sa fille, ni même qu'il contribuerait de manière régulière à son entretien, étant relevé qu'il a été condamné par le passé pour violation d'une obligation d'entretien. Dans ces conditions, les contacts peuvent être maintenus par l'intermédiaire des moyens de communication modernes, voire par des séjours dans le pays d'origine du recourant (cf. <ref-ruling> consid. 5.1 p. 96 s. et les références citées; arrêt 6B_50/2020 du 3 mars 2020 consid. 1.4.2).
Pour le surplus, c'est en vain que le recourant, qui n'est pas né en Suisse, invoque la jurisprudence en matière de droit des étrangers, selon laquelle il est généralement admis qu'un avertissement au sens de l'art. 96 al. 2 LEI devrait d'abord être adressé aux étrangers issus de la deuxième génération qui ont commis plusieurs infractions, mais pour qui les condamnations n'ont pas (encore) constitué un cas de révocation de l'autorisation (cf. <ref-ruling> consid. 3.3.3; cf. aussi arrêt 2C_85/2021 du 7 mai 2021 consid. 5.2.3 et les références citées).
4.4. En définitive, compte tenu de la gravité de l'infraction commise, de ses multiples antécédents, de sa mauvaise intégration en Suisse et de l'absence de perspectives concrètes dans ce pays, l'intérêt public à l'éloignement du recourant l'emporte sur son intérêt privé à demeurer en Suisse. L'une des conditions pour une application de l'<ref-law> faisant ainsi défaut, la cour cantonale n'a pas violé le droit fédéral en ordonnant l'expulsion du recourant. Pour le surplus, celui-ci ne discute pas de la durée de la mesure - par 7 ans - prononcée à son encontre.
5.
Au vu de ce qui précède, le recours doit être rejeté dans la mesure où il est recevable. Le recourant supportera les frais judiciaires (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 3'000 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 27 août 2021
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
La Présidente : Jacquemoud-Rossari
La Greffière : Thalmann