Reto
Clase 17 de 25 • Fundamentos de Docker 2018
Contenido del curso
Janid Eduardo Ham Delgado
Esteban Vasquez Valencia
Ludwing Juan Homero Pérez Tzaquitzal
Carlos Andrés Charris S
Jordan Borja
Jair Israel Avilés Eusebio
Pedro Perafán Carrasco
Jose Luis Apaza Cueva
Diego Andres Fonseca Soto
Wilson Fernando Antury Torres
Gabriel Martínez Portilla
Kevin Arciniegas
Edgar Moises Valdez Faria
César Espitia
Fausto Misael Obregón Cabezas
Erik Ricardo Sánchez Pérez
Jericsson Jesus Carvajal Guerrero
Jorge Mauricio Zárate Ponce
Ludwing Rivera Amador
Juanrivano
Miguel Torrealba
Stuard Gerardo Carrillo Gonzalez
Daniel Cristian Gallardo Guzman
William Glaffo
Cambiar 8 por lts eso traerá la última versión LTS que es la 10.14.0
FROM node:lts COPY [".", "/usr/src/"] WORKDIR /usr/src RUN npm install EXPOSE 3000 CMD ["node", "index.js"]
Excelente aporte con el lts. Yo solo cambié de 8 a 10 😃
Igual que @estebanvasquezvalencia yo solo cambié el número de versión.
Gracias por el aporte!
Solución
FROM node:10 COPY [“.", "/usr/src/"] # [<ubicacion de los archivos a copiar>, <destino donde van a quedar los archivos copiados>] WORKDIR /usr/src # es similar al comando cd, WORKDIR <entrar en la siguiente ruta> RUN npm install # RUN ejecuta el comando npm install COPY [".", "/usr/src/"] # [<ubicacion de los archivos a copiar>, <destino donde van a quedar los archivos copiados>] EXPOSE 3000 # le indica al contenedor el puerto por el cual va a salir o exponer el contenedor, es el mismo puerto por donde esta escuchando node CMD ["node", "index.js"] # ejecuta el comando node index.js el cual levanta el servidor de express
Por qué de nuevo el COPY?
Este es mi Docker file, utilizo la version 10-slim para ocupar menor espacio de la imagen de node 10
FROM node:10-slim COPY [".", "/usr/src/"] WORKDIR /usr/src RUN npm install EXPOSE 3000 CMD ["node", "index.js"]
Cambien de:
FROM node:8
a:
FROM node:10
Modificar el archivo Dockerfile
Antes:
FROM node:8
Ahora:
FROM node:10
Segun se puede usar la imagen node:10, una posible solucion al reto es:
FROM node:10 COPY [".", "/usr/src/"] WORKDIR /usr/src RUN npm install EXPOSE 3000 CMD ["node", "index.js"]
Modificando:
FROM node:10```
Sé que no es lo ideal, pero los profesionales de la información, convivimos y debemos mantener, sistemas realizado en versiones antiguas, docker me ha salvado la vida!
FROM node:10 COPY [".", "/usr/src/"] WORKDIR /usr/src RUN npm install EXPOSE 3000 CMD ["node", "index.js"]```
Dockerfile
FROM node:10 COPY [".", "/usr/src/"] WORKDIR /usr/src RUN npm install EXPOSE 3000 CMD ["npm", "start"]
Cambié el CMD para que trabaje con npm start
.dockerignore
*.log .dockerignore .git .gitignore build/* Dockerfile node_modules npm-debug.log* README.md package-lock.json
Agregué el package-lock.json al dockerignore
Y también actualice el nodemon a la ultima versión
npm install --save-dev nodemon@latest
Saludos
Excelente aporte edgarmoises, me ayudo mucho.
modificamos el FROM de la siguiente forma:
FROM node:10 COPY [".", "/usr/src/"] WORKDIR /usr/src RUN npm install EXPOSE 3000 CMD ["node", "index.js"]
esto seria para correrlo con una imagen de alpine que es más ligera :)
FROM node:10-alpine WORKDIR /var/www ADD ./ /var/www RUN npm install EXPOSE 3000 CMD ["npm", "start"]
![](
Reto cumplido! Lo que se debe hacer es cambiar la versión de node en el archivo Dockerfile. Luego construir la imagen y listo.
En el archivo Dockerfile en el FROM le modifique node:jessie jessie es el nombre de la versión 10 de node.
FROM node:jessie COPY [".", "/usr/src/"] WORKDIR /usr/src RUN npm install EXPOSE 3000 CMD ["node", "index.js"]
FROM node:10
FROM node:10
Aqui viene informacion de la imagen, si van a la seccion de Image Variants pueden leer de todas las posibilidades que puede tener esta imagen, como elegir cualquier version de node e incluso eligir una distribucion de linux super liviana
Dockerfile
FROM node:<version>-[slim|alpine] ...
FROM node:10 COPY [".", "/usr/src"] WORKDIR /usr/src RUN npm install EXPOSE 3000 CMD [ "node", "index,js" ]```
Actualizando el dockerfile en el FROM node:8 por FROM node:10