Ichapas tapukuchkanki imataq kasqanmanta. Niyta munan llamk'achiyta dApp proyectoykita contenedorman churanapaq. DOCKERIZE Docker Docker huk kichasqa plataforma kan ruwanakuna ruwanapaq, apachinapaq chaymanta purichinapaq. Docker atichisunki t'aqayta chaymanta software usqhaylla quyta atikunki. ruwanakunayki infraestructuraykimanta web ruwanakuna, APIkuna, kuyuchina ruwanakuna chaymanta qhipa yanapakuykuna kanku. Chayqa qillqasqayki codigo, bibliotecakuna llamk'achisqayki, chaymanta purinanpaq necesitasqan ruwanakuna ima kachkan. Yanapakuykuna Infraestructura imayna llamkana sistema(OS), Llika churay, web servidorkuna, willaypa tiyapuynin chaymanta wak yanapakuykuna ruwanayki tinkin. Chantapas hardware utaq virtual makinakuna maypi ruwanayki purin chayta ruwan. Docker ruwanaykita huklla entidad hina paqueteayta chaymanta purichiyta saqin huk suchuy sapanchasqa muyuriqpi CONTENER sutiyuq. Contenedor nisqa Contenedores llasaq kanku chaymanta tukuy ima necesitakun ruwana purichinapaq, chayrayku mana imachus host kaqpi churasqa kaqpi hapipakunaykichu tiyan. Llamk'achkaspa waqaychanakunata rakiyta atikunki, chaymanta llapa rakisqaykiwan kikin waqaychana kaqlla llamk'aq chaskisqankumanta allinta qhaway. Ejemplopaq, qam chaymanta llamk'aqmasiykikuna huk dApp ruwaypi llamk'achkanki mayqinchus Node.js chaymanta Hardhat kaqwan llamk'achkan. Qallariypi, llamk'ayta llaqta makinaykipi churanki, yachaspa manaraq llamk'aqmasiykikuna ruwayta kitipi purichiyta atichkaptinku, Node.js chaymanta Hardhat sistemankupi churananku tiyan. Kunanqa, yuyaykusun huk llamk'aqmasiyki huk makinata llamk'achkan mana Node.js chaymanta Hardhat kaqwan tupaq. ¿Imaynatataq kay sasachakuyta allichawaq? Docker kaqwan, ruwanaykita, llapa hapipakuyninkunawan kuska, huklla waqaychanaman paqueteayta atikunki mayqinchus mayqin llamkana llamkanapipas puriyta atin. Kayqa software utaq dependenciakuna sapanchasqa huk makinakunapi churaymanta sasachakuy allichan. Imahinakuna Yanapakuyniyki contenedorpi churasqaykimanta, ¿imaynatataq chayta purichinki? Huk frontend ruwaq hina, musuq React ruwana qallarichkanki, aswanta utaq purichinki. Huk kachkaq llamk'anapaq, qatisqa kaqwan purichiwaq, chaypi purichinaykipaq. Chaynallataqmi, huk waqaychanata purichinaykipaqqa, sutiyuqta necesitanki. npx create-react-app npm init vite@latest git pull npm install waqaychanapa rikchaynin Waqaychasqa siq'i nisqaqa huk kamachisqa paquete kaqmi, llapa willañiqikuna, iskayniyuq, bibliotecakuna, ruwanakuna ima ruwanaykita waqaychana ukhupi purichinapaq necesitasqanku. Tukuy ima huñusqa hina, chaymi mayqin pachamamapipas mana chiriyaspa purinanpaq. Uraypi qhaway huk waqaychana siq'ita: Prácticos nisqakuna Kay t'aqapi, yachanki imayna contenedor ruwayta chaymanta appniykimanta rakiyta. Ñawpaqtaraqmi necesitakun nisqap qhipa kaqnintam churarqanki. Docker Desktop nisqatam churarqanki. Git cliente Willañiqikunata llamk'achinapaq IDE icha qillqa allichaqniyuq kanki. Docker Visual Studio C ode llamk'achiyta yuyaychakun. Aplicacionniykita contenedorpi churay Sapsi willañiqiykipi, docker qallariy kay kamachiy tapuywan: docker init Tapusqakunaman kutichiykunata quy ? 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 Kimsa yapasqa willañiqikunatam willañiqintinpi rikunki, chaykunam , chaymanta .dockerignore compose.yaml DockerFile : Dockerfile nisqaqa qillqa qillqam, llapa kamachiykunata huk llamk'achiqpa kamachiy chirupi waqyayta atisqan, siq'ita huñunapaq. Dockerfil : Compose willañiqi, icha willañiqiqa . compose.yaml compose.yaml Compose Especificación nisqap qusqan kamachiykunata qatin, imayna mul ti-container ruwanakuna riqsichiypi : Kay willañiqiqa willañiqikunatam, willañiqikunatapas rurana k'itimanta qarqun. .dockerignore ukhupi, willañiqita ch'uyanchaspa kaykunata yapay: 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"] Kayta llamk'achispa waqaychana siq'iykita ruway: docker build -t <your-image-name> . Contenedor siq'iyki qhawanaykipaq, docker mesaykiman riy, ñit'iy , uraypi rikuchisqa hina Images utaq kay kamachiyta llamk'achiy atikunki, docker images terminalniykipi waqaychana siq'iyki qhawanaykipaq Imahinata purichiy: docker run -p 5173:5173 <your-image-name> Kayhina lluqsiyta rikunayki tiyan: > vite-project@0.0.0 dev > vite VITE v5.4.2 ready in 222 ms ➜ Local: http://localhost:5173/ ➜ Network: http://172.17.0.2:5173/ Aplicacionta rakinakuy Docker Hub nisqaman utaq yaykuy qillqakuy . Waqaychasqa wasi akllay. ruway ñit'inata Waqaychasqaykita kikin waqaychana siq'i sutiwan sutichay. kananpaq qhaway . Rikuna Llaqtapaq akllay. Ruway nisqapi Docker Hub nisqaman yaykuy kamachiy chiruwan docker login -u <YOUR USERNAME> Contraseña nisqaykitaqa qillqay Contraseñaykiqa manam rikukunqachu qillqachkaspa kamachiyta llamk'achiy siq'iman musuq sutita qunaykipaq. nisqawan Docker ID nisqawan tikray: docker tag getting-started YOUR-USER-NAME Kay . denied: requested access to the resource is denied Kayta allichanapaq, . yaykuywan wakmanta yaykuy , enter ñit'iy. docker login Chay qhepamanmi navegadorniykiman purinki, nisqayki terminalta copiay hinaspa yaykuchiy, OTP nisqapi ñit’iy CONFIRM siq’ita wakmanta tanqay Huk lluqsiyta rikunki kayhinata: Kayqa siq'iyki ruwasqa kaqta chaymanta huk registroman tanqasqa kaqta rikuchin. Kunanqa equipoyki kay siq'ita aysayta atin chaymanta ruwana llaqta makinankupi purichiyta atin. Qhawayta atikunki maskana barrapi waqaychana siq'iyki maskaspa docker mesaykipi utaq kaqpi . docker hub Sasachakuy allichay : . Puerto Ch'aqway : sichus puerto llamk'achisqaña karqan. Pantasqa : Puerto llamk'achispa ruwayta riqsichisqa chaymanta kay kamachiykunata llamk'achispa tukusqa: Allchay # 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> Hukninpiqa, Docker waqaychanata huk puertopi purichiyta atinki: docker run -p 8001:8000 <your-image-name> Huk Aplicacionta musuqyachiy Imapas appniyki musuqyachisqayki p.h. huk sintaxis utaq ruwayta tikranki, . Docker mesaykita sayachiy, nisqapi ñit'iy Containers Puertota sayachiy hinaspa chinkachiy nisqapi ñitiy Yanapakuymanta wakmanta ruway kamachiyta llamk'achispa docker build docker build -t <your-image-name> . Appta wakmanta purichiy docker run -p 5173:5173 <your-image-name> Conclusion Kay yanapakuyta qatispa, mana sasachu ruwanayki chaymanta dependenciankuna huk waqaychanaman paqueteayta atikunki, equipoykiwan qunakunki chaymanta mayqin makinapipas mana sasachu purichiyta atikunki. Kayqa mana yanapanakuyllatachu kallpachan aswanpas pachamama churaywan chaymanta tupachiywan tupaq sasachakuykunata pisiyachin.