paint-brush
Mwongozo wa Waanzilishi wa Kuweka Mradi wa Vite dAppkwa@ileolami
281 usomaji Historia mpya

Mwongozo wa Waanzilishi wa Kuweka Mradi wa Vite dApp

kwa Ileolami6m2024/09/24
Read on Terminal Reader

Ndefu sana; Kusoma

Docker ni jukwaa wazi la kukuza, kusafirisha, na kuendesha programu. Docker hukuruhusu kufunga na kuendesha programu yako kama chombo kimoja katika mazingira yaliyotengwa kwa urahisi inayoitwa **CONTAINER. Vyombo ni nyepesi na vina kila kitu kinachohitajika ili kuendesha programu. Unaweza kushiriki vyombo unapofanya kazi, na uhakikishe kuwa kila mtu unayeshiriki naye anapata chombo kile kile kinachofanya kazi kwa njia sawa.
featured image - Mwongozo wa Waanzilishi wa Kuweka Mradi wa Vite dApp
Ileolami HackerNoon profile picture
0-item


Unaweza kujiuliza DOCKERIZE ni nini. Inamaanisha kutumia Docker kuweka mradi wako wa dApp.

Docker ni jukwaa wazi la kukuza, kusafirisha, na kuendesha programu. Docker hukuwezesha kutenganisha programu zako na miundombinu yako ili uweze kutoa programu haraka.

  • Maombi ni pamoja na programu za wavuti, API, programu za rununu na huduma za nyuma. Inajumuisha msimbo unaoandika, maktaba unazotumia, na usanidi unaohitajika ili ifanye kazi.
  • Miundombinu kama vile mfumo wa uendeshaji(OS), Mipangilio ya mtandao, seva za wavuti, hifadhidata na huduma zingine ambazo programu yako huingiliana nazo. Pia inahusisha maunzi au mashine pepe ambapo programu yako inaendeshwa.

Docker hukuruhusu kufunga na kuendesha programu yako kama chombo kimoja katika mazingira yaliyotengwa kwa urahisi inayoitwa CONTAINER.

Chombo

Vyombo ni vyepesi na vina kila kitu kinachohitajika ili kuendesha programu, kwa hivyo huhitaji kutegemea kile kilichosakinishwa kwenye seva pangishi. Unaweza kushiriki vyombo unapofanya kazi, na uhakikishe kuwa kila mtu unayeshiriki naye anapata chombo kile kile kinachofanya kazi kwa njia sawa.

Kwa mfano, wewe na wenzako mnafanyia kazi mradi wa dApp unaotumia Node.js na Hardhat. Hapo awali, ulianzisha mradi kwenye mashine yako ya karibu, ukijua kwamba kabla ya wenzako kuendesha programu ndani ya nchi, watahitaji kusakinisha Node.js na Hardhat kwenye mifumo yao. Sasa, hebu fikiria mmoja wa wenzako anatumia mashine ambayo haioani na Node.js na Hardhat. Je, ungewezaje kutatua tatizo hili?

Ukiwa na Docker, unaweza kufunga programu yako, pamoja na utegemezi wake wote, kwenye chombo kimoja ambacho kinaweza kufanya kazi kwenye mfumo wowote wa uendeshaji. Hii hutatua suala la kusakinisha programu au vitegemezi kando kwenye mashine tofauti.

Picha

Baada ya kuhifadhi ombi lako, unaifanyaje iendeshwe?

Kama msanidi programu ya mbele, unapoanzisha programu mpya ya React, kwa kawaida huwa unaendesha npx create-react-app au npm init vite@latest . Kwa mradi uliopo, kawaida ungeendesha git pull ikifuatiwa na npm install ili uifanye kazi ndani. Vile vile, ili kuendesha chombo, unahitaji kitu kinachoitwa picha ya chombo .

Picha ya kontena ni kifurushi kilichosanifiwa ambacho kinajumuisha faili zote, jozi, maktaba na usanidi unaohitajika ili kuendesha programu yako ndani ya kontena. Ni kama kuweka kila kitu pamoja ili kiweze kufanya kazi kwa uthabiti katika mazingira yoyote.

Tazama hapa chini kwa picha ya chombo:

Picha ya skrini ya kiolesura cha usimamizi wa picha cha Docker kinachoitwa "web3-dapp: karibuni".

Vitendo

Katika sehemu hii, utajifunza jinsi ya kuweka vyombo na kushiriki programu yako.

Masharti

  1. Umesakinisha toleo jipya zaidi la Docker Desktop .
  2. Umesakinisha mteja wa Git .
  3. Una IDE au kihariri maandishi cha kuhariri faili. Docker inapendekeza kutumia Visual Studio C ode.

Weka maombi yako kwenye vyombo

  1. Kwenye saraka yako ya mizizi, anzisha docker kwa kutumia amri hii ya haraka:

     docker init
  2. Toa majibu kwa vidokezo

     ? What application platform does your project use? Node ? What version of Node do you want to use? 20.16.0 ? Which package manager do you want to use? npm ? Do you want to run "npm run build" before starting your server? No ? What command do you want to use to start the app? ["npm", "run", "dev"] ? What port does your server listen on? 5173
  3. Utaona faili tatu za ziada kwenye saraka yako, ambazo ni .dockerignore , compose.yaml na DockerFile

  • Dockerfil : Dockerfile ni hati ya maandishi ambayo ina maagizo yote ambayo mtumiaji anaweza kupiga simu kwenye mstari wa amri ili kukusanya picha.
  • compose.yaml : Faili ya Tunga, au faili ya compose.yaml inafuata sheria zilizotolewa na Maelezo ya Kutunga jinsi ya kufafanua programu-tumizi za kontena nyingi .
  • .dockerignore : Faili hii haijumuishi faili na saraka kutoka kwa muktadha wa muundo.
  1. Ndani ya Dockerfile , futa faili na ongeza yafuatayo:

     # syntax=docker/dockerfile:1 ARG NODE_VERSION=20.16.0 FROM node:${NODE_VERSION}-alpine # Use development node environment by default. ENV NODE_ENV development WORKDIR /app # Copy package.json and package-lock.json to the working directory COPY package.json package-lock.json ./ # Install dependencies RUN npm install # Copy the rest of the source files into the image COPY . . # Change ownership of the /app directory to the node user RUN chown -R node:node /app # Switch to the node user USER node # Ensure node_modules/.bin is in the PATH ENV PATH /app/node_modules/.bin:$PATH # Expose the port that the application listens on EXPOSE 5173 # Run the application CMD ["npm", "run", "dev"]
  2. Jenga picha ya chombo chako kwa kutumia hii:

     docker build -t <your-image-name> .
  3. Ili kuona picha ya kontena lako, nenda kwenye eneo-kazi lako, bofya Images , kama inavyoonyeshwa hapa chini

    au unaweza kutumia upesi wa amri,

     docker images
  4. kuona picha ya chombo chako kwenye terminal yako

    Picha ya skrini ya dirisha la terminal inayoonyesha matokeo ya amri ya "picha za docker".

  5. Endesha picha:

     docker run -p 5173:5173 <your-image-name>

Unapaswa kuona pato kama hili:

 > [email protected] dev > vite VITE v5.4.2 ready in 222 ms ➜ Local: http://localhost:5173/ ➜ Network: http://172.17.0.2:5173/

Kushiriki Maombi

  1. Jisajili au Ingia kwenye Docker Hub.

  2. Chagua kitufe cha Unda Hifadhi .

  3. Taja hazina yako kwa jina sawa la picha ya chombo. Hakikisha Mwonekano ni wa Umma .

  4. Chagua Unda .

  1. Ingia kwa Docker Hub kwa kutumia mstari wa amri

     docker login -u <YOUR USERNAME>
  2. Weka Nenosiri lako

    Nenosiri lako halitaonekana unapoandika

  3. Tumia amri docker tag kuipa picha getting-started jina jipya. Badilisha YOUR-USER-NAME na ID yako ya Docker:

    Unaweza kukutana na hii denied: requested access to the resource is denied wakati wa kusukuma.

    Ili kurekebisha hii,

    1. ingia upya kwa kutumia docker login , bonyeza enter.
    2. Baada ya hapo, utaelekezwa kwa kivinjari chako,
    3. nakili terminal yako ya OTP na uingize,
    4. bonyeza THIBITISHA
    5. rudisha picha

    Utaona pato kama:

Hii inaonyesha picha yako imeundwa na kusukumwa kwenye sajili. Timu yako sasa inaweza kuvuta picha hii na kuendesha programu kwenye mashine yao ya karibu.

Unaweza kuangalia kwa kutafuta picha ya chombo chako kwenye upau wa kutafutia kwenye eneo-kazi lako la kizimbani au kitovu cha kizimbani .

Kutatua matatizo

  • Mgogoro wa bandari :

    • Hitilafu : ikiwa mlango ulikuwa tayari unatumika.

    • Suluhisho : Tambua mchakato kwa kutumia bandari na kuikomesha kwa kutumia amri zifuatazo:

       # Find the process using port 8000 lsof -i :8000 # Kill the process (replace <PID> with the actual process ID found from the previous command) kill -9 <PID> 

    • Vinginevyo, unaweza kuendesha chombo cha Docker kwenye bandari tofauti:

       docker run -p 8001:8000 <your-image-name>
  • Sasisha Programu

    Chochote unachosasisha programu yako kwa mfano unabadilisha sintaksia au utendaji kazi,

    1. Acha desktop yako ya docker, bonyeza Containers

    2. Acha bandari na ubofye kufuta

    3. Jenga tena Programu kwa kutumia amri docker build

       docker build -t <your-image-name> .
    4. Rudia programu

       docker run -p 5173:5173 <your-image-name>


Hitimisho

Kwa kufuata mwongozo huu, unaweza kufunga programu yako na vitegemezi vyake kwa urahisi kwenye kontena, kuishiriki na timu yako, na kuiendesha kwa urahisi kwenye mashine yoyote. Hii sio tu huongeza ushirikiano lakini pia hupunguza masuala yanayohusiana na usanidi wa mazingira na uoanifu.