You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#Para crear el archivo Dockerfile y .dockerignore que vimos en la parte teórica, puedes hacerlo con la extensión de Docker de manera sencilla.
15
+
#Basta con ejecutar Cmd + P > Add Docker Files to Workspace y seleccionar Node.js. Te pedirá que le selecciones el package.json y el puerto que utiliza tu app.
16
+
#Le diremos que no queremos el archivo de Docker compose, lo dejaremos para más adelante :-)
9
17
10
18
#Revisar el archivo Dockerfile
11
19
cat Dockerfile
@@ -20,61 +28,54 @@ cat Dockerfile
20
28
#COPY coge una fuente y un destino dentro de tu máquina local.
21
29
#ADD te permite hacer lo mismo que COPY, pero además puedes especificar una URL como origen o incluso extraer un archivo .tar y descomprimirlo directamente en destino.
22
30
23
-
24
31
#Revisar el archivo .dockerignore
25
32
cat .dockerignore
26
33
27
34
#Generar la imagen en base al Dockerfile
28
35
docker build --tag=hello-world .
29
36
37
+
#Comprobamos las imágenes que ahora tenemos disponibles, así como el peso de hello-world
38
+
docker images
39
+
30
40
#Ver el historico generado para la imagen
31
41
docker history hello-world #Los que tienen valor 0B son metadatos
32
42
33
43
#Ejecutar un nuevo contenedor usando tu nueva imagen:
34
44
docker run -p 4000:3000 hello-world
35
45
36
-
#Añadir una nueva etiqueta a tu nueva imagen
37
-
docker image tag hello-world 0gis0/hello-world:latest
38
-
docker images #El image ID es el mismo para ambas etiquetas porque apuntan a la misma imagen
39
-
40
-
#Publicar tu nueva imagen en Docker Hub
41
-
docker push 0gis0/hello-world:latest
42
-
43
-
#Si accedes a tu cuenta en Docker Hub verás tu nueva imagen, la cual acaba de ser publicada
44
-
https://hub.docker.com/
45
-
46
-
#Elimina la imagen de local
47
-
docker rm 5bfeba90ec4d --force
48
-
docker rmi -f hello-world 0gis0/hello-world
49
-
50
-
#Ejecutar un nuevo contenedor usando mi nueva imagen en Docker Hub
51
-
docker run -p 4000:3000 0gis0/hello-world
46
+
#Modifica el Dockerfile para ejecutar el test con eslint:
#Con multi-stage lo que se hace es utilizar múltiples FROM dentro del mismo Dockerfile.
59
63
#Cada FROM utiliza una imagen base diferente y cada una inicia un nuevo stage.
60
64
#El último FROM produce la imagen final, el resto solo serán intermediarios.
61
65
#Puedes copiar archivos de un stage a otro, dejando atrás todo lo que no quieres para la imagen final.
62
66
#La idea es simple: crea imagenes adicionales con las herramientas que necesitas (compiladores, linters, herramientas de testing, etc.) pero que no son necesarias para producción
63
67
#El objetivo final es tener una imagen productiva lo más slim posible y segura.
0 commit comments