paint-brush
የ Vite dApp ፕሮጀክትን ለመቆጠብ የጀማሪ መመሪያ@ileolami
281 ንባቦች አዲስ ታሪክ

የ Vite dApp ፕሮጀክትን ለመቆጠብ የጀማሪ መመሪያ

Ileolami6m2024/09/24
Read on Terminal Reader

በጣም ረጅም፤ ማንበብ

ዶከር መተግበሪያዎችን ለማዳበር፣ ለመላክ እና ለማሄድ ክፍት መድረክ ነው። Docker መተግበሪያዎን እንደ ነጠላ አካል በማሸግ እና ** ኮንቴይነሮች በሚባል ገለልተኛ ገለልተኛ አከባቢ ውስጥ እንዲያስኬዱ ይፈቅድልዎታል። ኮንቴይነሮች ቀላል ክብደት አላቸው እና መተግበሪያውን ለማስኬድ የሚያስፈልጉትን ነገሮች ሁሉ ይይዛሉ። በሚሰሩበት ጊዜ ኮንቴይነሮችን ማጋራት ይችላሉ፣ እና የሚያጋሩት እያንዳንዱ ሰው በተመሳሳይ መንገድ የሚሰራ አንድ አይነት መያዣ ማግኘቱን ያረጋግጡ።
featured image - የ Vite dApp ፕሮጀክትን ለመቆጠብ የጀማሪ መመሪያ
Ileolami HackerNoon profile picture
0-item


DOCKERIZE ምን እንደሆነ እያሰቡ ይሆናል። ይህም ማለት የእርስዎን dApp ፕሮጀክት ወደ መያዣ ለማስገባት Dockerን መጠቀም ማለት ነው።

ዶከር መተግበሪያዎችን ለማዳበር፣ ለመላክ እና ለማሄድ ክፍት መድረክ ነው። ዶከር ሶፍትዌሮችን በፍጥነት ለማድረስ መተግበሪያዎችዎን ከመሠረተ ልማትዎ እንዲለዩ ያስችልዎታል።

  • አፕሊኬሽኖች የድር መተግበሪያዎችን፣ ኤፒአይዎችን፣ የሞባይል መተግበሪያዎችን እና የድጋፍ አገልግሎቶችን ያካትታሉ። እርስዎ የሚጽፉትን ኮድ፣ የሚጠቀሙባቸውን ቤተ-መጻሕፍት እና እንዲሠራ የሚያስፈልጉትን ውቅሮች ያካትታል።
  • እንደ ኦፕሬቲንግ ሲስተም(ኦኤስ)፣ የአውታረ መረብ መቼት፣ የድር አገልጋዮች፣ የውሂብ ጎታ እና ሌሎች የእርስዎ መተግበሪያ መስተጋብር የሚፈጥር መሠረተ ልማት። እንዲሁም መተግበሪያዎ የሚሰራባቸውን ሃርድዌር ወይም ምናባዊ ማሽኖችን ያካትታል።

Docker ማመልከቻዎን እንደ አንድ አካል አድርገው ኮንቴይነሮች በሚባል ገለልተኛ ገለልተኛ አካባቢ ውስጥ እንዲያሽጉ እና እንዲያሄዱ ይፈቅድልዎታል።

መያዣ

ኮንቴይነሮች ክብደታቸው ቀላል እና አፕሊኬሽኑን ለማስኬድ የሚያስፈልጉትን ነገሮች ሁሉ ይዘዋል፣ ስለዚህ በአስተናጋጁ ላይ በተጫነው ላይ መተማመን አያስፈልግዎትም። በሚሰሩበት ጊዜ ኮንቴይነሮችን ማጋራት ይችላሉ፣ እና የሚያጋሩት እያንዳንዱ ሰው በተመሳሳይ መንገድ የሚሰራ አንድ አይነት መያዣ ማግኘቱን ያረጋግጡ።

ለምሳሌ፣ እርስዎ እና የስራ ባልደረቦችዎ Node.js እና Hardhat በሚጠቀም የdApp ፕሮጀክት ላይ እየሰሩ ነው። መጀመሪያ ላይ ባልደረቦችዎ መተግበሪያውን በአገር ውስጥ ከማስኬዳቸው በፊት Node.js እና Hardhat በስርዓታቸው ላይ መጫን እንዳለባቸው አውቀው ፕሮጀክቱን በአከባቢዎ ማሽን ላይ አዋቅረዋል። አሁን፣ ከስራ ባልደረቦችህ አንዱ ከNode.js እና Hardhat ጋር ተኳሃኝ ያልሆነ ማሽን እየተጠቀመ እንደሆነ እናስብ። ይህን ችግር እንዴት መፍታት ይቻላል?

በDocker መተግበሪያዎን ከሁሉም ጥገኞች ጋር በማሸግ በማንኛውም ኦፕሬቲንግ ሲስተም ላይ ሊሰራ ወደሚችል ነጠላ መያዣ ማሸግ ይችላሉ። ይህ በተለያዩ ማሽኖች ላይ ሶፍትዌሮችን ወይም ጥገኛዎችን የመጫን ችግርን ይፈታል.

ምስሎች

ማመልከቻዎን ወደ ኮንቴይነር ካስገቡት በኋላ እንዴት እንዲሰራ ያደርጉታል?

እንደ የፊት ግንባር ገንቢ፣ አዲስ React መተግበሪያን ሲጀምሩ አብዛኛው ጊዜ npx create-react-app ወይም npm init vite@latest ያሂዳሉ። ለነባር ፕሮጀክት፣ በአገር ውስጥ ለማስኬድ በተለምዶ git pull በመቀጠል npm install ያስኬዳል። በተመሳሳይ, መያዣን ለማስኬድ, የሚባል ነገር ያስፈልግዎታል መያዣ ምስል .

የመያዣ ምስል ሁሉንም ፋይሎች፣ ሁለትዮሽ፣ ቤተ-መጻሕፍት እና አወቃቀሮችን ያካተተ ደረጃውን የጠበቀ ጥቅል ነው። በማንኛውም አካባቢ ያለማቋረጥ እንዲሄድ ሁሉንም ነገር አንድ ላይ እንደማያያዝ ነው።

የመያዣ ምስል ለማግኘት ከዚህ በታች ይመልከቱ፡-

"web3-dapp: የቅርብ" የሚል ስም ያለው የዶከር ምስል አስተዳደር በይነገጽ ቅጽበታዊ ገጽ እይታ።

ተግባራዊ

በዚህ ክፍል ውስጥ መተግበሪያዎን እንዴት ማጠራቀም እና ማጋራት እንደሚችሉ ይማራሉ.

ቅድመ-ሁኔታዎች

  1. የቅርብ ጊዜውን የዶከር ዴስክቶፕ ስሪት ጭነዋል።
  2. የጊት ደንበኛን ጭነዋል።
  3. ፋይሎችን ለማርትዕ IDE ወይም የጽሑፍ አርታኢ አለህ። ዶከር ቪዥዋል ስቱዲዮ ሲ ኦድ መጠቀምን ይመክራል።

ማመልከቻዎን ወደ ውስጥ ያስገቡ

  1. በስር ማውጫዎ ውስጥ፣ ይህን የትእዛዝ ጥያቄ በመጠቀም ዶከርን ያስጀምሩ፡-

     docker init
  2. ለጥያቄዎች መልስ ይስጡ

     ? 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. በማውጫዎ ውስጥ ሶስት ተጨማሪ ፋይሎችን ያያሉ እነሱም .dockerignore , compose.yaml እና DockerFile

  • Dockerfil : Dockerfile አንድ ተጠቃሚ በትእዛዝ መስመሩ ላይ ምስሎችን ለመሰብሰብ የሚጠራቸውን ሁሉንም ትዕዛዞች የያዘ የጽሑፍ ሰነድ ነው።
  • compose.yaml : የጽሑፍ ፋይል ወይም compose.yaml ፋይል የmul ti-container አፕሊኬሽኖችን እንዴት እንደሚገልጹ በ Compose Specification የተሰጡትን ደንቦች ይከተላል።
  • .dockerignore : ይህ ፋይል ፋይሎችን እና ማውጫዎችን ከግንባታ አውድ አያካትትም።
  1. Dockerfile ውስጥ ፋይሉን ያጽዱ እና የሚከተለውን ያክሉ።

     # 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. ይህንን በመጠቀም የመያዣ ምስልዎን ይገንቡ፡-

     docker build -t <your-image-name> .
  3. የመያዣ ምስልዎን ለማየት ወደ ዶከር ዴስክቶፕዎ ይሂዱ፣ Images ላይ ጠቅ ያድርጉ፣ ከታች እንደሚታየው

    ወይም ይህንን የትእዛዝ ጥያቄ መጠቀም ይችላሉ ፣

     docker images
  4. የመያዣ ምስልዎን በተርሚናልዎ ውስጥ ለማየት

    የ "ዶክተር ምስሎች" ትዕዛዝ ውጤትን የሚያሳይ የተርሚናል መስኮት ቅጽበታዊ ገጽ እይታ

  5. ምስሉን አሂድ:

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

እንደዚህ አይነት ውፅዓት ማየት አለብህ።

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

ማመልከቻውን ማጋራት

  1. ይመዝገቡ ወይም ወደ Docker Hub ይግቡ።

  2. የማጠራቀሚያ ፍጠር ቁልፍን ይምረጡ።

  3. የእርስዎን ማከማቻ በተመሳሳዩ የመያዣ ምስል ስም ይሰይሙ። ታይነቱ ይፋዊ መሆኑን ያረጋግጡ።

  4. ፍጠርን ይምረጡ።

  1. የትእዛዝ መስመሩን በመጠቀም ወደ Docker Hub ይግቡ

     docker login -u <YOUR USERNAME>
  2. የይለፍ ቃልዎን ያስገቡ

    በሚተይቡበት ጊዜ የይለፍ ቃልዎ አይታይም።

  3. getting-started ምስል አዲስ ስም ለመስጠት docker tag ትዕዛዙን ይጠቀሙ። YOUR-USER-NAME በ Docker መታወቂያዎ ይተኩ፡-

    ይህ denied: requested access to the resource is denied

    ይህንን ለማስተካከል፣

    1. docker login በመጠቀም እንደገና ይግቡ ፣ አስገባን ይጫኑ።
    2. ከዚያ በኋላ ወደ አሳሽዎ ይሂዱ ፣
    3. የእርስዎን OTP ተርሚናል ይቅዱ እና ያስገቡት፣
    4. አረጋግጥን ይጫኑ
    5. ምስሉን እንደገና ይግፉት

    እንደዚህ ያለ ውፅዓት ታያለህ፡-

ይህ የሚያሳየው የእርስዎ ምስል ተገንብቶ ወደ መዝገብ ቤት መገፋቱን ነው። ቡድንዎ አሁን ይህንን ምስል በመሳብ መተግበሪያውን በአካባቢያቸው ማሽን ላይ ማስኬድ ይችላል።

የመያዣ ምስልዎን በመትከያ ዴስክቶፕዎ ላይ ባለው የፍለጋ አሞሌ ላይ በመፈለግ ማረጋገጥ ይችላሉ።

መላ መፈለግ

  • የወደብ ግጭት ;

    • ስህተት ፡ ወደቡ አስቀድሞ ስራ ላይ ከዋለ።

    • መፍትሄ ፡ ወደቡን በመጠቀም ሂደቱን ለይተው የሚከተሉትን ትዕዛዞች በመጠቀም አቋርጠውታል።

       # 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> 

    • እንደ አማራጭ የዶከር ኮንቴይነሩን በተለየ ወደብ ላይ ማስኬድ ይችላሉ፡-

       docker run -p 8001:8000 <your-image-name>
  • መተግበሪያ ያዘምኑ

    መተግበሪያዎን የሚያዘምኑት ማንኛውም ነገር ለምሳሌ አገባብ ወይም ተግባር ይለውጣሉ፣

    1. ዶከር ዴስክቶፕዎን ያቁሙ፣ Containers ላይ ጠቅ ያድርጉ

    2. ወደቡን ያቁሙ እና ሰርዝ ላይ ጠቅ ያድርጉ

    3. docker build ትዕዛዙን በመጠቀም መተግበሪያውን እንደገና ይገንቡ

       docker build -t <your-image-name> .
    4. መተግበሪያውን እንደገና ያስጀምሩ

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


ማጠቃለያ

ይህንን መመሪያ በመከተል መተግበሪያዎን እና ጥገኞቹን በቀላሉ ወደ መያዣ ማሸግ፣ ከቡድንዎ ጋር መጋራት እና በማንኛውም ማሽን ላይ በቀላሉ ማስኬድ ይችላሉ። ይህ ትብብርን ብቻ ሳይሆን ከአካባቢ ቅንብር እና ተኳኋኝነት ጋር የተያያዙ ጉዳዮችን ይቀንሳል.