Podes estar a se preguntar que é . Significa usar para contener o seu proxecto dApp. DOCKERIZE Docker Docker é unha plataforma aberta para desenvolver, enviar e executar aplicacións. Docker permíteche separar as túas da túa para que poidas entregar software rapidamente. aplicacións infraestrutura inclúen aplicacións web, API, aplicacións móbiles e servizos de backend. Inclúe o código que escribe, as bibliotecas que usa e as configuracións necesarias para que se execute. As aplicacións Infraestrutura como o sistema operativo (SO), a configuración de rede, os servidores web, a base de datos e outros servizos cos que interactúa a súa aplicación. Tamén implica o hardware ou as máquinas virtuais onde se executa a súa aplicación. Docker permítelle empaquetar e executar a súa aplicación como unha única entidade nun ambiente pouco illado chamado CONTAINER. Recipiente Os contedores son lixeiros e conteñen todo o necesario para executar a aplicación, polo que non necesitas confiar no que está instalado no host. Podes compartir contedores mentres traballas e asegúrate de que todos os que compartas teñan o mesmo contedor que funciona da mesma forma. Por exemplo, vostede e os seus colegas están a traballar nun proxecto dApp que usa Node.js e Hardhat. Inicialmente, configura o proxecto na súa máquina local, sabendo que antes de que os seus compañeiros poidan executar a aplicación localmente, necesitarían instalar Node.js e Hardhat nos seus sistemas. Agora, imaxinemos que un dos teus colegas está a usar unha máquina que non é compatible con Node.js e Hardhat. Como resolverías este problema? Con Docker, pode empaquetar a súa aplicación, xunto con todas as súas dependencias, nun único contedor que se pode executar en calquera sistema operativo. Isto resolve o problema de instalar software ou dependencias por separado en diferentes máquinas. Imaxes Despois de que a aplicación conten en contenedores, como podes executala? Como desenvolvedor frontend, ao iniciar unha nova aplicación React, normalmente executas ou . Para un proxecto existente, normalmente executarías seguido de para facelo funcionar localmente. Do mesmo xeito, para executar un contedor, necesitas algo chamado . npx create-react-app npm init vite@latest git pull npm install imaxe de contenedor Unha imaxe de contedor é un paquete estandarizado que inclúe todos os ficheiros, binarios, bibliotecas e configuracións necesarias para executar a súa aplicación dentro dun contedor. É como ter todo agrupado para que poida funcionar de forma consistente en calquera ambiente. Vexa a continuación unha imaxe do contedor: Prácticas Nesta sección, aprenderás a almacenar e compartir a túa aplicación en contedores. Requisitos previos Instalou a última versión de . Docker Desktop Instalou un . cliente Git Tes un IDE ou un editor de texto para editar ficheiros. Docker recomenda usar Visual Studio C ode. Containeriza a túa aplicación No seu directorio raíz, inicialice docker usando este símbolo do sistema: docker init Proporcione respostas ás solicitudes ? 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 Verás tres ficheiros adicionais no teu directorio, a saber , e .dockerignore compose.yaml DockerFile : un Dockerfile é un documento de texto que contén todos os comandos que un usuario pode chamar na liña de comandos para montar unha imaxe. Dockerfil : o ficheiro Compose ou o ficheiro segue as regras proporcionadas pola . compose.yaml compose.yaml Especificación de Compose sobre como definir aplicacións de contedores múltiples : este ficheiro exclúe ficheiros e directorios do contexto de compilación. .dockerignore Dentro de , borra o ficheiro e engade o seguinte: 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"] Constrúe a imaxe do teu recipiente usando isto: docker build -t <your-image-name> . Para ver a imaxe do teu contedor, vai ao teu escritorio docker e fai clic en , como se mostra a continuación Images ou pode usar este indicador de comandos, docker images para ver a imaxe do teu contedor no teu terminal Executar a imaxe: docker run -p 5173:5173 <your-image-name> Deberías ver unha saída como esta: > 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/ Compartindo a aplicación ou inicia sesión en Rexístrate Docker Hub. Seleccione o botón . Crear repositorio Nomea o teu repositorio co mesmo nome da imaxe do contenedor. Asegúrate de que a sexa . visibilidade pública Seleccione . Crear Inicia sesión en Docker Hub mediante a liña de comandos docker login -u <YOUR USERNAME> Introduza o seu contrasinal O teu contrasinal non estará visible ao escribir Use o comando para darlle un novo nome á imaxe . Substitúe polo teu ID de Docker: docker tag getting-started YOUR-USER-NAME Podes atopar isto ao presionar. denied: requested access to the resource is denied Para solucionar isto, reinicie sesión usando , prema Intro. docker login Despois diso, navegarás ata o teu navegador, copia o teu terminal e introdúceo, OTP prema CONFIRMAR rexeitar a imaxe Verá unha saída como: Isto mostra que a túa imaxe foi construída e introducida nun rexistro. Agora o teu equipo pode tirar desta imaxe e executar a aplicación na súa máquina local. Podes comprobalo buscando a imaxe do teu contedor na barra de busca do teu escritorio ou . docker hub Resolución de problemas : Conflito portuario : se o porto xa estaba en uso. Erro : identificou o proceso mediante o porto e rematouno usando os seguintes comandos: Solución # 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> Como alternativa, pode executar o contedor Docker nun porto diferente: docker run -p 8001:8000 <your-image-name> Actualizar unha aplicación Calquera cousa que actualices a túa aplicación, por exemplo, cambias unha sintaxe ou unha función, Detén o teu escritorio docker, fai clic en Containers Detén o porto e fai clic en eliminar Reconstruír a aplicación usando o comando docker build docker build -t <your-image-name> . Volve executar a aplicación docker run -p 5173:5173 <your-image-name> Conclusión Seguindo esta guía, pode empaquetar facilmente a súa aplicación e as súas dependencias nun contedor, compartila co seu equipo e executala facilmente en calquera máquina. Isto non só mellora a colaboración, senón que tamén mitiga os problemas relacionados coa configuración e compatibilidade do ambiente.