Búsqueda de sitios web

Instalación de Docker con Ubuntu 16.04 LTS, Mint 17 y CentOS 7


Una breve introducción a la virtualización

Hoy aprenderemos a instalar Docker con Ubuntu, Mint y CentOS 7 Linux. Antes de la evolución del concepto de virtualización, para ejecutar una aplicación se requería un servidor dedicado, si deseaba ejecutar 20 aplicaciones como servicios DNS de servidor de correo, servidor web o Además, era necesario comprar 20 servidores dedicados y cada aplicación apenas consumía entre el 5 y el 10 % de la capacidad total de la CPU, por lo que era un desperdicio total de recursos. Para deshacerse de tal desperdicio de recursos, se introdujo el concepto de virtualización, donde los hipervisores construyen una capa en el hardware donde se pueden instalar múltiples máquinas virtuales y se comportan y saben como servidores independientes reales. Este concepto de virtualización fue una revolución en la utilización de recursos y el proceso de reducción de costos.

Una breve introducción a los contenedores.

Aunque la virtualización basada en hipervisor cambió las reglas del juego, pronto se dio cuenta de que existen ciertos problemas incluso con ese concepto de virtualización de hipervisor, sin duda pudimos ejecutar múltiples sistemas operativos en una sola CPU, pero aún existía la necesidad de múltiples sistemas operativos. para múltiples servicios y no todos los sistemas operativos eran gratuitos para formar la licencia que aún requerían comprar, además, cada sistema operativo virtual consume una gran cantidad de CPU, disco duro y RAM. Para superar el problema del hipervisor sediento de recursos, se introdujo un nuevo concepto de virtualización a nivel del sistema operativo.

Podemos considerar los contenedores como pequeñas cápsulas que tienen su propio entorno operativo individual que comparte el núcleo del sistema operativo principal y estos contenedores se comportarán como un sistema operativo independiente, tendrán su propio directorio raíz y otros sistemas de archivos, propiedades de red y procesos como init o systemd, tienen su propia jerarquía de procesos y los procesos que se ejecutan en un contenedor no pueden enviar señales a otro proceso que se ejecuta en un contenedor separado y ejecutar sus aplicaciones de forma independiente tal como se ejecutan en un entorno virtual basado en hipervisor. Podemos indicar la contenedorización como " Virtualización a nivel del sistema operativo”, la CPU se instala directamente en la CPU y los recursos del kernel del sistema operativo principal son compartidos por instancias del espacio de usuario. Todos los contenedores comparten recursos de CPU, pero sus límites se definen a través del espacio de nombres del kernel, las particiones se definen para cada contenedor para que puedan usar recursos y bibliotecas dentro de sus límites. Otra característica importante de los contenedores es el cgroup o grupo de control que puede agrupar procesos de contenedores y puede definir qué porcentaje puede consumir este grupo de procesos; este porcentaje de intercambio de recursos es bastante flexible y puede disminuir o aumentar según sea necesario.

Una breve historia de Docker

Docker es un tiempo de ejecución de contenedores y también una empresa, combina todas las capacidades de un contenedor y forma un producto. Formalmente era un proyecto interno de la empresa dotClous que proporciona plataforma como servicio, fue iniciado por Solomon Hykes. en Francia, se puede decir que es el padre de Docker, Docker está escrito en el lenguaje Google go y se lanzó por primera vez en marzo de 2013 con una versión 0.9. Docker tiene licencia de código abierto. Inicialmente, Docker se basaba en contenedores LXC, pero surge un problema porque no pueden controlar el desarrollo de LXC. Entonces escriben un nuevo recurso de controlador que se llama libcontainer. se hizo popular muy pronto, más de 17000 desarrolladores contribuyen a Docker, que aumenta entre 200 y 300 usuarios por mes, más de mil aplicaciones compatibles con Docker, Red Hat, IBM, Cisco, etc., son los principales contribuyentes a Docker. más de 2600 estrellas de GitHub y el vigésimo proyecto de GitHub más destacado. Chef, Puppet o Open Stalk son compatibles con Docker; además, los servicios en la nube de AWS, Rackspace y Azure brindan soporte para Docker. Docker proporciona capacitación, documentación y soporte.

Instalación de Docker con Ubuntu 16.04

Tenemos instalado un sistema operativo Ubuntu 16.04 nuevo, actualice el sistema primero

apt-get update

Instalar Docker es una tarea bastante fácil, ejecute el comando

apt-get install docker.io

Después de la instalación, verifique el estado del servicio Docker.

/etc/init.d/docker status

Verificar la versión de la ventana acoplable

docker version

Habilitar para ejecutar Docker en el momento del arranque

update-rc.d docker defaults

Descargar el contenedor Docker de Ubuntu

docker pull ubuntu

Verificar el contenedor de Ubuntu descargado

docker images

Para ingresar a ese contenedor de Ubuntu, proporcione el siguiente comando y entrará automáticamente, la opción -i lo hará interactivo y -t asignará tty al contenedor.

docker run -i -t ubuntu

Para salir del contenedor, escriba salir.

Buscar contenedor CentOS

docker search centos

Centos no está instalado, intentemos ejecutar ese contenedor, puede notar que comenzará a instalar la imagen de centos.

docker run -it centos /bin/bash

¡Enumere las imágenes instaladas nuevamente!

Si desea salir del contenedor sin cerrarlo, presione Ctrl+P+Q, saldrá del contenedor sin detenerlo, ejecute el siguiente comando y podrá ver que el contenedor todavía está activo después de salir con Ctrl +P+Q.

docker ps

La instalación de Docker con CentOS 7 no es tan diferente a la de Ubuntu 16.04, instale una versión nueva de CentOS y actualice

yum update

instalar la ventana acoplable

yum install docker

Verifique la versión de Docker cuando esté instalada, puede notar que la versión de Docker es diferente a la de Docker instalada en Ubuntu.

Extraer la imagen de Fedroa para la ventana acoplable

Hagamos algunas tareas con el instalador del contenedor fedora.

Instale Apache en el contenedor Fedora usando el comando dnf

Puede notar que los comandos de Fedora funcionan perfectamente en el entorno CentOS 7.

Verifique la versión del kernel dentro del contenedor de Fedora, se puede notar el kernel centos 7, lo que significa que estamos compartiendo el espacio de usuario del kernel de CentOS.

Ahora verifique el sistema operativo instalado

Instalación de Docker con Mint 17 Linux

Agregar repositorio a la fuente APT

 # sudo echo deb https://get.docker.com/ubuntu docker main > /etc/apt/sources.list.d/docker.list

Importar clave

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9

apt-get update

instalar la ventana acoplable

apt-get install docker.io

Cuando intenté tomar una imagen de centos, apareció el siguiente error.

# docker pull centos 
FATA[0000] Post http:///var/run/docker.sock/v1.18/images/create?fromImage=centos%3Alatest: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS? 

Para resolver este error necesitamos agregar nuestro usuario al grupo de Docker.

sudo usermod -a -G docker $USER

Docker está funcionando ahora, extraiga la imagen de Ubuntu

¿Cuál es el futuro del proyecto Docker?

Definitivamente, Docker está eliminando la virtualización basada en hiperversor con mucha frecuencia, en el futuro los fabricantes de CPU comenzarán a brindar asistencia a nivel de chip para contenedores y comenzarán a venir como soporte integrado, el soporte a nivel de chip hará que la virtualización a nivel del sistema operativo sea más segura y más eficiente, existe la posibilidad de que varios Habrá contenedores disponibles que se complementarán entre sí y podrán comunicarse entre sí en forma de una sola aplicación, este será un concepto de desarrollo de aplicaciones más independiente y modular. También existe otra posibilidad de que no se requiera un gran procesamiento para las PYMES debido a que las aplicaciones basadas en Docker funcionarán incluso en configuraciones de hardware pequeñas, lo que sin duda aumentará el papel del tipo raspberrypi de hardware integrado de Linux. ¡¡Divertirse!!