Instalación de Docker

Author
By Darío Rivera
Posted on 2019-09-22 in Docker
Tags   Docker 18

Según su página oficial, Docker es una plataforma para desarrolladores y administradores de sistemas para desarrollar, desplegar y correr aplicaciones con contenedores. Un contenedor es una instancia de una imagen, que a su vez es un paquete con todo lo necesario para correr una apliación (S.O, librerías, etc). Una imagen puede tener varias instancias, es decir, varios contenedores. Utilizar docker sobre otras soluciones como máquinas virtuales tiene sus ventajas, principalmente mejora en el desempeño de la máquina ya que docker comparte el kernel con el equipo host.

Para que te hagas una idea de para qué sirve docker, imagina que desarrollas una aplicación web en PHP, con base de datos MySQL y framework laravel. Necesitas un par de configuraciones adicionales para que tu aplicación funcione correctamente: ssl, un par de virtual hosts, redis, etc. Como desarrollador cuando pases nuevas funcionalidades a QA para que los testers las prueben te encuentras con que el servidor de test está en Centos, por lo que tienes que configurar toda tu aplicación instalando desde el lenguaje hasta las configuraciones nuevamente. Con docker, podrías simplemente tener una imagen de Debian con PHP instalado, y configurarlo de tal manera para instalar lo restante y correr las configuraciones cuando se levante el sistema. De esta forma, no tendrías que realizar estas configuraciones cada vez que quieras desplegar tu app en un sistema diferente, incluso, no tendrías que tener ni siquiera PHP o MySQL instalado en tu computadora de desarrollo ya que podrías compartir una carpeta entre tu máquina y el contenedor en donde tienes instalada la apliacación para que tu máquina solo requiera del IDE de desarrollo.

Instalación en GNU/Linux

Para instalar Docker en linux podemos ejecutar el siguiente comando en distribuciones basadas en Debian.

sudo apt-get install docker.io

Instalación en Windows 10 y MacOs

La instalación en Windows 10 debe realizarse sobre la versión Pro y Hyper-V debe estar habilitado. Debes ingresar a este link:

https://hub.docker.com/?overlay=onboarding

Si no estás registrado en el hub de docker debes crear una cuenta dando clic en Sign Up.

docker-sign-in

Una vez logueados al dar clic en Get started with Docker Desktop, aparecerá una ventana modal que permitirá descargar docker para windows o mac.

docker-download

Una vez descargado debes ejecutar el instalador el cual verificará los requerimientos e instalará docker. En el caso de MacOs el paquete de instalación suele ser un .dmg con lo cuál bastará con ejecutar y realizar el drag and drop habitual.

Hola mundo en docker

Para verificar la versión instalada podemos correr el comando docker --version. si deseas más información acerca de la instalación realizada, los comandos docker version o docker info suelen ser muy útiles. Debido a que el daemon de docker corre bajo un socket (de root) en vez de bajo un puerto TCP/IP es necesario correr todos los comandos de docker con sudo o con root. Para evitar el uso de sudo puedes seguir el siguiente tutorial para agregar el usuario en sesión a un grupo creado con el nombre docker.

Lo siguiente que podemos hacer es correr una imagen de docker llamada hello-world. Para esto, debemos ejecutar el siguiente comando:

docker run hello-world

Deberás obtener un mensaje similar al siguiente:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Con esto, ya tenemos todo preparado para crear nuestros primeros containers en docker. Hasta pronto!.


Si te ha gustado este artículo puedes invitarme a tomar una taza de café

Acerca de Darío Rivera

Author

Ingeniero de desarrollo en PlacetoPay , Medellín. Darío ha trabajado por más de 6 años en lenguajes de programación web especialmente en PHP. Creador del microframework DronePHP basado en Zend y Laravel.

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.