Instalación de docker

John SerranoJohn Serrano
19 agosto - 2018
docker

El día de hoy vamos hablar sobre docker que es y como instalarlo, que es todo esto sobre contenedores, con docker podemos construir, administrar y proteger todas nuestras aplicaciones donde sea.

docker_1

¿Qué es docker?

La esencia de docker es poder crear contenedores ligeros, portables para todo tipo de aplicación que se puedan ejecutar en cualquier maquina con docker instalado, independiente del sistema operativo con solo tener docker instalado ya podemos ejecutar las aplicaciones y facilitando los despliegues.

Ahora que es un contenedor, los contenedores son un concepto antiguo que viene de Linux, los ejemplos más cercanos a la vida real son los contenedores que llevan los barcos. Ahora bien en nuestras maquinas tener un contenedor es tener un pedazo de nuestra aplicación ejecutándose independientemente, es decir podemos tener un contenedor ejecutando mysql y otro ejecutando wordpress cada uno independiente pero relacionados.

docker_2

Para tener en cuenta que docker en Windows y Mac no corre nativamente, por lo tanto necesitamos de una máquina virtual para que pueda ejecutar el demonio de docker ya que docker originalmente se creó para ejecutarse en Linux y también gracias a docker-machine que nos permite crear estas máquinas.

docker_3

Docker simplifica la experiencia del desarrollador como la experiencia devops, para los desarrolladores hace que el uso de Docker hace que puedan centrarse en desarrollar su código sin preocuparse de si dicho código funcionará en la máquina en la que se ejecutará.

Ahora bien que diferencia existe entre una máquina virtual y Docker, el concepto es algo similar, pero un contenedor no es lo mismo que una máquina virtual. Un contenedor es más ligero, ya que mientras que a una máquina virtual necesitas instalarle un sistema operativo para funcionar, un contenedor de Docker funciona utilizando el sistema operativo que tiene la máquina en la que se ejecuta el contenedor.

dockerVSvms

Instalación de docker en Windows

Lo primero que tenemos que hacer es descargar el instalador del siguiente enlace https://docs.docker.com/toolbox/toolbox_install_windows/ le damos al botón Get Docker Toolbox for Windows, una vez descargado el instalador le damos doble clic y hacemos la instalación como cualquier otro programa.

Tener en cuenta que debemos tener un sistema operativo de 64 bits y tener activado la virtualización como se puede apreciar en la siguiente imagen.

docker_windows

En la instalación dejamos todo por defecto.

docker_install

docker_install_2

Le damos doble clic al Docker QuickStart, con esto comienza a crear la máquina virtual en virtual box donde estará el demonio de docker corriendo, con esto podremos ejecutar el cliente de docker desde nuestra máquina.

docker_initial

Con docker-machine ls podemos ver la máquina que fue creada y que está corriendo.

Nota: si tienen problemas para iniciar la maquina pueden ir a la terminal y hacer lo siguiente.

docker-machine

Lo primero que hacemos es listar las máquinas de docker que tenemos creadas, lo segundo es activar la máquina que docker nos crea por defecto y lo tercero es cargar unas variables de entorno que docker necesita para poder ejecutar todos los comandos, con docker version podemos ver la versión de docker.

Nota: siempre que abrimos una nueva ventana de la terminal o iniciemos la máquina de virtual box debemos cargar las variables es decir docker-machine env.

Instalación en Linux

Lo primero es actualizar la base de datos de paquetes: sudo apt-get update

Nota: en esta instalación use Linux Mint, debe funcionar igual con Ubuntu y todos sus otros clones.

Ahora vamos a instalar Docker. Agregue la clave GPG para el repositorio oficial de Docker al sistema: sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

Esperamos y ahora agregue el repositorio Docker a fuentes APT: sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'

Actualice la base de datos de paquetes nuevamente: sudo apt-get update

Asegúrese de que está a punto de instalar desde el repositorio de Docker en lugar del repositorio predeterminado.

Debería ver una salida similar a la siguiente:

docker-engine:
Instalados: (ninguno)
Candidato:  17.05.0~ce-0~ubuntu-xenial
Tabla de versión:
   17.05.0~ce-0~ubuntu-xenial 0
      500 https://apt.dockerproject.org/repo/ ubuntu-xenial/main amd64 Packages
   17.04.0~ce-0~ubuntu-xenial 0
      500 https://apt.dockerproject.org/repo/ ubuntu-xenial/main amd64 Packages
   17.03.1~ce-0~ubuntu-xenial 0

Por último, instale Docker: sudo apt-get install -y docker-engine

Con service docker status podemos ver que está corriendo docker.

docker version

Si desea evitar escribir sudo cada vez que ejecute el comando docker, añada su nombre de usuario al grupo docker: sudo usermod -aG docker $(whoami)

Nota: para aplicar los cambios debemos cerrar la sesión y volver a iniciar, otra cosa que hay que tener en cuenta es que esta instalación no viene con docker-machine ni docker-compose hay que realizar su propia instalación cada uno de ellos.

Bueno por ahora dejo este artículo hasta este punto en un próximo artículo vamos a ver los comandos básicos de docker y como nos ayuda a desarrollar nuestras app, espero que sea de tu ayuda y hasta la próxima.

Soy John Serrano ingeniero de software con más de 7 años de experiencia. Me especializo en la creación de experiencias digitales de alto impacto. Entusiasta de las tecnologías web: JavaScript, TypeScript, Node.js, Docker, Firebase, React, etc. Me puedes encontrar en las siguientes redes sociales:

Apoyo

Estoy muy feliz de que disfrutes del contenido de johnserrano.co, si te gusta lo que lees y quieres respaldar mi trabajo, puedes realizar una donación a través de Tarjeta de crédito o PSE. Además, estoy disponible para recibir tu apoyo por correo electrónico en [email protected] si prefieres otras opciones. Tu apoyo ayuda a mantener este proyecto en marcha. ¡Gracias por tu apoyo!

Apoyo no monetario

Otra manera de ayudarme es difundiéndolo de boca en boca! Si consideras que el contenido que comparto en johnserrano.co puede ser valioso para tus amig@s y compañer@s, te invito a compartirlo en Twitter, LinkedIn o en la plataforma que prefieras. Tu recomendación puede marcar la diferencia. ✨

No hay un amor más grande que el dar la vida por los amigos. Juan 15:13

Otros artículos