Slide 1

Slide 1 text

Docker Images Best Practices Boris Quiroz - Geek Lunch 0x0

Slide 2

Slide 2 text

Docker: - Build once, run anywhere - Configure once, run anything

Slide 3

Slide 3 text

Containers son a las VMs lo que los threads son a los procesos. Powerful chroot.

Slide 4

Slide 4 text

bootfs (lxc, btrfs) rootfs (ubuntu) Imagen

Slide 5

Slide 5 text

bootfs (lxc, btrfs) rootfs (ubuntu) Imagen Container (rw)

Slide 6

Slide 6 text

Buenas prácticas Usar cache: FROM alpine:edge Usar tags: docker build -t boris/parrots . Exponer puertos: EXPOSE 1313 CMD || ENTRYPOINT: ENTRYPOINT ["/root/terminal-parrot/parrot"]

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Size

Slide 10

Slide 10 text

Imagenes grandes se demoran más en bajar. Imágenes grandes usan más espacio. Componentes innecesarios aumentan el tamaño. En debian: --no-install-recommends y rm -rf /var/lib/apt/lists/* En Alpine: rm -rf /var/cache/apk/* Busybox Alpine Node PHP Ubuntu 6.1 5.9 1:21 50.3 23.9 Busybox Alpine Node PHP Ubuntu 1.093 MB 4.799 MB 660.7 MB 490.3 MB 132.8 MB

Slide 11

Slide 11 text

Demo