Guia para el viajero primerizo

http://slides.com/ramonraya/deck-1#/

http://slides.com/axelmonroy/docker-workshop-es#/

Que es?

Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux and Windows Server apps.

Containers?

Using containers, everything required to make a piece of software run is packaged into isolated containers.

 

NOT A VM!

Equipamiento basico

  • Git
  • Docker
  • Docker Hub Account
  • Docker-Compose

Mi primer contenedor

aplicacion dockerizada

subir tus imagenes

Mi primer Contenedor

Bajar una imagen de prueba

$ docker pull alpine
$ docker images
REPOSITORY              TAG                 IMAGE ID            CREATED           VIRTUAL SIZE
alpine                 latest              c51f86c28340        4 weeks ago         1.109 MB
hello-world             latest              690ed74de00f        5 months ago        960 B

Mi primer Contenedor

Corriendo un container

$ docker run alpine ls -l
total 48
drwxr-xr-x    2 root     root          4096 Mar  2 16:20 bin
drwxr-xr-x    5 root     root           360 Mar 18 09:47 dev
drwxr-xr-x   13 root     root          4096 Mar 18 09:47 etc
drwxr-xr-x    2 root     root          4096 Mar  2 16:20 home
drwxr-xr-x    5 root     root          4096 Mar  2 16:20 lib
......
......

Mi primer Contenedor

hello from container

$ docker run alpine echo "hello from alpine"
hello from alpine

docker run -it alpine /bin/sh

-i          interactivo mantiene el contenedor adjunto

-t          tty muestra la consola dentro del contenedor

Mi primer Contenedor

Revisar contenedores activos

$ docker ps
CONTAINER ID    IMAGE        COMMAND       CREATED        STATUS         PORTS

Mi primer Contenedor

Revisar contenedores activos

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS        NAMES
36171a5da744        alpine              "/bin/sh"                5 minutes ago       Exited (0) 2 minutes ago                        fervent_newton
a6a9d46d0b2f        alpine             "echo 'hello from alp"    6 minutes ago       Exited (0) 6 minutes ago                        lonely_kilby
ff0a5c3750b9        alpine             "ls -l"                   8 minutes ago       Exited (0) 8 minutes ago                        elated_ramanujan
c317d0a9e3d2        hello-world         "/hello"                 34 seconds ago      Exited (0) 12 minutes ago                       stupefied_mcclintock

Mi primer Contenedor

Ujn ultimo intento

$ docker run -it alpine /bin/sh
/ # ls
bin      dev      etc      home     lib      linuxrc  media    mnt      proc     root     run      sbin     sys      tmp      usr      var
/ # uname -a
Linux 97916e8cb5dc 4.4.27-moby #1 SMP Wed Oct 26 14:01:48 UTC 2016 x86_64 Linux

Creando nueva imagen

$ git clone https://github.com/Mathreyu/workshop-docker-meetup
$ cd workshop-docker-meetup/

Veamos el docker file.

FROM node:6

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY package.json /usr/src/app/
RUN npm install
ENV DEBUG myapp:*

COPY . /usr/src/app

EXPOSE 3000
CMD [ "npm", "start" ]

Descarguemos una que ya esta

Creando nueva imagen

$ docker build -t user/imageName .

Subamos esa bella imagen

$ docker push user/imageName

Creemos una imagen

Gracias!

deck

By Ramon Raya

deck

  • 280