Рубрики
Uncategorized

🐳 Docker para desarrolladores

Docker es una herramienta maravillosa para desarrolladores y el concepto de empaquetar tus … Tagged с Docker, Frontend, GitHub, DevOps.

Docker es una herramienta maravillosa para desarrolladores y el concepto de empaquetar tus unencias en un solo lugar que corre en cualquier lugar suena casi utóṕico.

En este artículo aprenderás

  1. Cómo Leer un Dockerfile
  2. Проблемы Comunes al correr tu dockerfile
  3. Analizar Dockerfile de una Spa
  4. Cómo construir tus propios dockerfile
  5. Ключевые слова Básicas sobre los dockerfile
  6. Qué es alpine y porqué es usado
  7. Donde Buscar imágenes para tus interenedores

Usaré un ejemplo para que podamos entender mejor el funcionamiento de un dockerfile, un ejemplo para una aplicación de React

FROM node:current-alpine3.14

WORKDIR /usr/src/app

COPY package.json /app

COPY . .

RUN npm set progress=false && npm install

EXPOSE 8086

CMD ["npm", "run", "storybook"]

Si empleamos la similitud entre uncendor de esos que los barcos transportan y los docker lo podemos entender de una manera muaco más sencilla y práctica.

Es verdad que dentro de un intreendor puedes meter una cantidad exacta de mercancía, pero de dierentes tipos y estos poseen un tamaño expectifico para que sean fáciles de edimificar y de llevar por los barcos.

En docker funciona de forma аналогично, соло nuestra mercancía es nuestra aplicación y las Reglas son las siguientes.

De manera práctica nos encontraremos con

ИЗ

FROM node:current-alpine3.14

ESTO ВОЗДЕЙСТВИЕ QUE SE GENERA UNERENEDOR AS PARTIR DE UNA Imagen , Podemos pensar en ella como un mools que es la primera capa de nuestro compendor. Ella Tendrá Configuraciones Explicityficas Que Servirán Para Correr Los Comandos Consecuentes, Puedes ver que uso node: current-alpine3.14

Esta Imagen la incuentro en la página de Docker Hub , Que Podemos pensar en ella como un Repositorio de imágenes, comúnmente buscarás imágenes oficiales (Estas tienen un símbolo de Imagen Oficial A Lado del Nombre).

En docker funciona de forma аналогично, соло nuestra mercancía es nuestra aplicación y las Reglas son las siguientes.

Ahora Conocemos Que Esto de Node: Current-Alpine3.14 Es El Nombre Tepply de la Imagen Que usamos como base, pero ¿wees alpine? Alpine Es El Sistema Operativo (Basado En Linux) de Nuestra Imagen. Este nombre es famoso porque prespresta una Imagen con un peso mínimo de mega bytes, y esto se busca para que que tu compendor final no pese muaco, ya que no conviene muco tener tu aplicación de 50mb y que base base 250 мб.

Workdir

WORKDIR /usr/src/app

El Workdir Indica El Directorio de Trabajo, nos refermos a el como un Directorio que se crea dent del que que se usará como base para parrer los comandos consecuentes.

Entronces Conocemos que el workdir se refiere más nuestro compenedor que a tu aplicación por eso erás que en mugos lugares se le conoce como/appaciones, покой Нет Tanto de Tu Aplicación, Esto Vendrá En Los ProXimax Comandos.

Копия

COPY package.json /app

COPY . .

Los Comandos Copy, Hacen Honor A Su Nombre de Copiar Los Archivos de Tu Aplicación a la del Compenedor/App.

Primero copiamos el package.json porque de allí corremos comandos npm.

Luego Empleamos el Copy. Анкет

Admito que esto no es muy explicativo pero básicamente es copiar lo de tu degerialio de trabajo (workdir) el que ya habíamos espectificado anthermente.

Podríamos traducir копия./приложение

El Workdir Indica El Directorio de Trabajo, nos refermos a el como un Directorio que se crea dent del que que se usará como base para parrer los comandos consecuentes.

БЕЖАТЬ

RUN npm set progress=false && npm install

Este Puede Aparecer Bastante en el desarrollo de una aplicación, y hace lo que su nombre, corre en tu compenedor lo le le pongas a suisquierda así de simple.

Обычный Cuando agarras una aplicación, lo primero ques es instalar las deviewencias porque sino la aplicación no corre, esto es un clásico. Bueno en Docker, высасывающий, Corre el npm установить Que harías normalmente. Sobre el set es para que no meustre la barra de progreso al instalar devidencias, el && une comandos por lo le le le coloco npm install.

РАЗОБЛАЧАТЬ

EXPOSE 8086

Разоблачить Sirve para decir que el puerto que que tu incerendor usará.

Aquí está el dilema y es que colocarlo no hará efecto a la hora de correr el compenedor, Esto sirve más decomanación. Lee Sobre Como Correr Un Empenedor

En Mi Minkin está bien colocarlo porque la documentación es Muy A La Hora de Correrlo no Esperar Que abra en ese puerto por defecto.

CMD

CMD ["npm", "run", "storybook"]

Cmd es La Consola Que Corre el Comando Que Coloques Entre Sus Corchetes, Esto Sucederá Cuando Se Termine de Correr El Compenedor.

Quizá al final de la construción de la Imagen no se ejecute pero su función se realizará al final de correr el intendor y Нет La Construcción.

Recapitulando

# Usar una imagen  
FROM node:current-alpine3.14

# Establecer el directorio de trabajo de nuestro contenedor
WORKDIR /usr/src/app

# Copiar el package.json a la carpeta /app de nuestro contenedor
COPY package.json /app

# Copiará otros archivos de la aplicación
COPY . .

# Ejecutar el comando npm set progress=false && npm install
RUN npm set progress=false && npm install

# Exponer el puerto 8086 de el contenedor docker, fin de documentación
EXPOSE 8086

# Correrá este comando al final cuando se esté corriendo el contenedor
CMD ["npm", "run", "storybook"]

Finalizando

Al Final de todo esto recuerda queedes ejecutar el comando Docker Build -t Aplicacion -Docker.

-t Значение Que Colocarás un Tag que vendria a ser unombre, aquí Нет Puedes USAR Letras Mayúsculas Así Que Sepo Con un guión.

Эль Анкет Al Final Targina Que Buscará Dentro de la Carpeta un Dockerfile y lo Leerá para crear una Imagen a partir de las instucciones, si abres la terminal desde otra carpeta y quieres correr el comando debes sustituir ese punto con ubicacióne de el dockerfile, lo mystuir erse punto con la ubicacióne de el dockerfile, lo my erse con la ubicacióne de el dockerfile debeses Si Tienes más de un dockerfile en tu aplicación pero es es algo que no suele suceder.

También Quiero destacar Que Tu Archivo Se Debe Llamar Dockerfile, Si le Llamas Dockerfile, Utro nombre te mandará, Este es Un Frucuente También, Recuerda Dockerfile.

Оригинал: «https://dev.to/fernandocutire/docker-para-desarrolladores-bk6»