Ichapas tapukuchkanki imataq DOCKERIZE kasqanmanta. Niyta munan Docker llamk'achiyta dApp proyectoykita contenedorman churanapaq.
Docker huk kichasqa plataforma kan ruwanakuna ruwanapaq, apachinapaq chaymanta purichinapaq. Docker atichisunki ruwanakunayki infraestructuraykimanta t'aqayta chaymanta software usqhaylla quyta atikunki.
Docker ruwanaykita huklla entidad hina paqueteayta chaymanta purichiyta saqin huk suchuy sapanchasqa muyuriqpi CONTENER sutiyuq.
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.
Yanapakuyniyki contenedorpi churasqaykimanta, ¿imaynatataq chayta purichinki?
Huk frontend ruwaq hina, musuq React ruwana qallarichkanki, aswanta npx create-react-app
utaq npm init vite@latest
purichinki. Huk kachkaq llamk'anapaq, git pull
qatisqa npm install
kaqwan purichiwaq, chaypi purichinaykipaq. Chaynallataqmi, huk waqaychanata purichinaykipaqqa, waqaychanapa rikchaynin sutiyuqta necesitanki.
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:
Kay t'aqapi, yachanki imayna contenedor ruwayta chaymanta appniykimanta rakiyta.
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 .dockerignore
, compose.yaml
chaymanta DockerFile
Dockerfil
: Dockerfile nisqaqa qillqa qillqam, llapa kamachiykunata huk llamk'achiqpa kamachiy chirupi waqyayta atisqan, siq'ita huñunapaq.compose.yaml
: Compose willañiqi, icha compose.yaml
willañiqiqa Compose Especificación nisqap qusqan kamachiykunata qatin, imayna mul ti-container ruwanakuna riqsichiypi ..dockerignore
: Kay willañiqiqa willañiqikunatam, willañiqikunatapas rurana k'itimanta qarqun. Dockerfile
ukhupi, willañiqita ch'uyanchaspa kaykunata yapay:
# 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, Images
ñit'iy , uraypi rikuchisqa hina
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:
> [email protected] dev > vite VITE v5.4.2 ready in 222 ms ➜ Local: http://localhost:5173/ ➜ Network: http://172.17.0.2:5173/
Waqaychasqa wasi ruway ñit'inata akllay.
Waqaychasqaykita kikin waqaychana siq'i sutiwan sutichay. Rikuna Llaqtapaq kananpaq qhaway .
Ruway nisqapi akllay.
Docker Hub nisqaman yaykuy kamachiy chiruwan
docker login -u <YOUR USERNAME>
Contraseña nisqaykitaqa qillqay
Contraseñaykiqa manam rikukunqachu qillqachkaspa
docker tag
kamachiyta llamk'achiy getting-started
siq'iman musuq sutita qunaykipaq. YOUR-USER-NAME
nisqawan Docker ID nisqawan tikray:
Kay
denied: requested access to the resource is denied
.Kayta allichanapaq, .
docker login
yaykuywan wakmanta yaykuy , enter ñit'iy.- Chay qhepamanmi navegadorniykiman purinki,
- OTP nisqayki terminalta copiay hinaspa yaykuchiy,
- CONFIRM nisqapi ñit’iy
- 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 docker hub kaqpi .
Puerto Ch'aqway : .
Pantasqa : sichus puerto llamk'achisqaña karqan.
Allchay : Puerto llamk'achispa ruwayta riqsichisqa chaymanta kay kamachiykunata llamk'achispa tukusqa:
# 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, Containers
nisqapi ñit'iy
Puertota sayachiy hinaspa chinkachiy nisqapi ñitiy
Yanapakuymanta wakmanta ruway docker build
kamachiyta llamk'achispa
docker build -t <your-image-name> .
Appta wakmanta purichiy
docker run -p 5173:5173 <your-image-name>
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.