Рубрики
Uncategorized

Докер 101: ¿ Qué es docker y para que sehanshate?

Antes de defirir Qué es docker, quiero cableles en que que uvimos en un proyeTo en el est … Теги с докером, дежоптом.

Antes de defire Qué es docker, quiero cableles up que uvimos en un un proyeTo en el estuve trabajando.

CON EL EQUIPO EMPEZAMOS CONFIGURANDO NUESTRO PROEECTO, DESIENDO La Arquitectura, Luego Pasamos a atapa desarrollo de components, Test и т. Д. Cuando Llegó El Mommento de Hacer Un Deploy En Los Ambientes Del Cliente, Nos Eneramos Que ToDo TSE Proceso Lo Hacían A MANO. Обучению, Con La Idea de que quién vaya a realizar esos развертывает lo Haga de la Manera Más Fácil Bosible Generamos Una Documentación de Cómo Clonar El ProyeCto, Cómo Instalar Las Conceptenceas y Como Ejecutarlo.

Una Vez Realizado El Deploy, NoS Encontramos Con La Sorpresa de que nuestra app no Corria Como Debía Correr. Luego de debuggear unto detectamos que el servidor donde estaba oriendo la app tenía instalado la v.14 de node.js, y nuestra app tenía un lockdown a la v.12 lo que que generaba Algunos Flaneas de Compatibilidad.

¿POR Qué Les Cuento Esto? PROPQUE ESTO ES UNO DE LOS Típicos Проблема Ance Docker Viene A Prevenir Queen Suncean.

Ahora Si …

¿ Qué Es Docker?

Docker Puede Foreirese Como Una Forma de Empaquetar Software Para Que PueDa Ejecutarse EN Cuауауэда оборудование.

Siguiendo El Caso Anderior, Docker NoS Premite Generar Or Paqeete Que Contiene Todo Lo Necesario, Código Fuente, конфигурация Y LAS-зависимости, PARA Que Nuestra Appleación Funcione de la Manera Adecuada.

Transpores Partes

Docker Tiene un Montón de Partes Muy Interesentes Y útiles, Como Los Облумы , Перо en este artículo nos enfocaremos solo en las que que son:

  • Dockerfile : el dockerfile es en archivo que sirve para indarle a docker cómo se depe strageir la imagen del proyecto. En Otras Palabras, Es La Receta Que Docker Usa Para Generar Un Paquete Con Nuestra Appleación.
  • Изображение : Es Template Para Ejecutar El ProReecto En Custerquier Contendedor. Уна Imagen de Docker Es Nuestro пауэт .
  • Контейнер : контейнер ООН Es Básicamente, Una Imagen en ejecución.

¿Cómo Dockerizar?

LO Primero que tenemos que hacer es generar nuestro proyecto. Vamos Generar Simple Archivo HTML Y UC Server en Express Para Servir Este Archivo.

Para Esto, Doctro del Directorio donde vamos trabajar, iniciamos un nuevo proyecto con NPM init y dejamos todas las configuraciones por defecto, de tal manera que nos jack un package.json как и я:

{
  "name": "docker101",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Luciano Peñafiel",
  "license": "ISC"
}

Lo Siguiente Que Vamos Hacer Es Crag un Archivo index.html. CON SIDE ENCABEZADO y lo colocaremos ru un directorio que lo vamos a llamar строить .





    
    
    Docker 101


    

Hola mundo!

Continuación Instalamos Express Ejecutando NPM Я выражаю y creamos unchivo Server.js que va a ser el encargado de servir nuestro html y agregamos script en nuestro package.json Para Levantar Este Server.

const express = require("express");
const app = express();

app.use(express.static("build"));

app.get("/", (req, res) => {
  res.send("ok");
});

app.listen(3000, () =>
  console.log(`App listening on port http://localhost:3000`)
);
{
  "name": "docker101",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
        "start": "node server.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Luciano Peñafiel",
  "license": "ISC"
}

Listo, ya tenemos nuestra приложение. Ahora Solo Ejecutamos El Comando NPM начать y vamos a tener ver nuestra app ororiendo en el puerto 3000.

¿Y Docker?

Ahora Llegó El Momento de Trabajar Con Docker, y lo primero que tenemos que hacer es instalarlo desde la Веб-Официальный De Docker Отказ

Una Vez Instalado Y Coreiendo, Ejecutamos En Nuestra Terminal El Comando Docker PS PARA VER TODAS LAS IMAGES QUE ESTANAN CORRIEDEO Active Actualmente. De Momento, нет Deberíamos Tener Ninguna, Y Obtener Una Respuesta Así:

Lo Siguiente ES Construir Nuestro Dockerfile Y Para Esto Creamos en la Raíz de Nuestro Rezositorio Un Archivo Con Elbre (Y Sin Extensión) Con El Siguiente Contenido:

FROM node:12-alpine

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm ci

COPY . ./

CMD ["npm", "start"]

Enentendamos un Poco Este Archivo. Primero que Nada Es Muy Geate Entender Que Cada Instrucción Funciona Como Una Capa, Y Docker Intentará Mantener en Caché CADA UNA DE ELLAS SI NADA SE HA MODIFIFADO, POR LO TANTO ES RECOMENDUBLE PONER Primero Aceellas Capas Que

Todo Dockerfile Empieza Con Эль-Комндо От que sirve para indarle a docker cuál va ser la Imagen base de nuestra Imagen. Sí, Cada Imagen Parte de Otra Imagen.

Lo Siguiente que TeneMos Hacer ES Agregar El Código Fuente de Nuestra App A Gapen. Para Eso Primero Softimos La Raíz del Direalio usango la inuncucción Workdir Отказ Todo Lo Siguiente que Hagamos va a comenzar desde esa ruta.

LUEGO VAMOS A Instalar Todas Nuestrassesenceiass usando El Comando Скопировать que recibe dos argentos, primero lo que queremos copior y al último la ubicación donde queremos copar esos archivos.

Luego vamos instalar todo lo que tenemos en nuestro package.json Con El Comando Запустите NPM CI Отказ

Una Vez Instaladas Todas Nuestra Conceedenceias, Copiamos El Código Fuente de Nuestra App. En este punto se stureda unsea, y es u en en los pasos instryes instalamos nuestras Зависимости, lo que generó dentro de la Imagen directorio Node_Modules y al copar todo lo que tenemos en nuestro cóestigo fuente, vamos a sobre eScribir esos módulos y No Es Algo Queremos que queeda. Para Esto Crossoss unchivo .Dockerignore (Si, игуавтоин ООН .gitignore) Y Colocamos Doctro Node_Modules Отказ

Y por último le hindimos a docker como debeizar nuestra app com la instrucción CMD , que. ES La Inucucción Por Defecto de Docker Para Iniacire Una Imagen.

Уна ВЕЗ Кредо Нюэстро Dockerfile Ахора Sí Vamos Generar Una Imagen del ProyeCto, y esto lo hacemos con el comando Docker Build -t Docker101: v1.

¿ Qué Hace Esto? Bien, Docker Build. VA Генерар Nuestra Imagen, Y Con El Flag -t docker101: v1 le asignamos una etiqueta a nuestra Imagen y le indimos que ena en la versión 1.

Ahora Si Corremos El Comando Docker Images vamos a ver todas las imagees que tenemos en nuestro docker con sus questivos ids.

Y POR FIN LLEGO LA HORA DE EJECUTAR NUESTRA APP DENRA DEE DE ООН КОНТЕНДЕР, ESTO LO HACEMOS CON EL COMANDO Docker Run -P 3000: 3000 Docker101: V1 y Вуаля, Приложение TeneMos Nuestra Reoriendo El Puerto 3000.

¿ Qué Sigue?

La Idey, Siguiendo El EJEMPLO DEL CHARDIO, ES Entregarle a Nuestro Cliente ToDo Empaeto. Y ¿Cómo Hacemos Esto? Буэно, сено Манас-Манерас де Хокерло, Перо-ла-Масс-Усада ES Subiendo Nuestra Imagen a un Реестр de imágenes como los es docker hub o github packages para que luego nuestro Cliente Pueda Descargar La Imagen.

ESO ES TODO POR AHORA, NOS VEMOS PRONTO 👋🏻.

Оригинал: «https://dev.to/luchopenafiel/docker-101-que-es-docker-y-para-que-se-usa-3k71»