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 estibador 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 u otra cosa, se le requería para comprar 20 servidores dedicados, cada aplicación apenas consumía del 5 al 10% de la capacidad total de la CPU, por lo tanto, era un desperdicio total de recursos. Para deshacerse de tal desperdicio de recursos, se introdujo el concepto de virtualización, donde los hipervisores construyeron 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.

Si bien 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 libres para formar la licencia que aún requerían para 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 el proceso que se ejecuta en un contenedor no puede enviar señales a otro proceso que se ejecuta en un contenedor separado y ejecutar sus aplicaciones de forma independiente como si estuvieran ejecutándose en un entorno virtual basado en hipervisor. Podemos establecer la contenedorización como ” Virtualización a nivel del sistema operativo”, la CPU se instala directamente en la CPU, y las instancias del espacio de usuario comparten los recursos del kernel del sistema operativo principal. 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 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 uso compartido 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 contenedor y también una empresa, combina todas las capacidades del contenedor y forma un producto, formalmente fue un proyecto interno de la empresa dotClous que proporciona la plataforma como servicio, fue iniciado por Salomón Hykes en Francia, se puede decir que es Padre de Docker, docker está escrito en el lenguaje Google go, se lanzó por primera vez en marzo de 2013 con una versión de 0.9. Docker tiene licencia de código abierto. Inicialmente, Docker se basaba en contenedores LXC, pero surge un problema, ya que 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 están contribuyendo a docker, que está aumentando de 200 a 300 usuarios por mes, más de mil de las aplicaciones admiten docker, Red Hat, IBM, Cisco, etc. son los principales contribuyentes a docker, tiene más de 2600 estrellas de GitHub y el vigésimo proyecto de GitHub más visto. Chef, puppet o open stalk son compatibles con docker, además, AWS, rackspace, los servicios en la nube de azure brindan soporte para docker. Docker proporciona capacitación, documentación y soporte.

Instalación de Docker con Ubuntu 16.04

Tenemos un nuevo sistema operativo Ubuntu 16.04 instalado, 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

DNS(104)

Habilitar para ejecutar la ventana acoplable en el momento del arranque

# update-rc.d docker defaults

Descargar contenedor docker de ubuntu

# docker pull ubuntu

dns(105)

Verificar el contenedor de Ubuntu descargado

# docker images

DNS(106)

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

# docker run -i -t ubuntu

Para salir del contenedor, escriba exit.

Buscar contenedor CentOS

# docker search centos

DNS(108)

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

# docker run -it centos /bin/bash

DNS(110)

Lista de imágenes instaladas de nuevo!

DNS(111)

Si quiere salir del contenedor sin matarlo, presione Ctrl+P+Q, saldrá del contenedor sin detenerlo, ejecute el siguiente comando y podrá ver que el contenedor aún está activo después de salir con Ctrl+P+Q.

# docker ps

DNS(112) Instalación de Docker con CentOS 7

Instalar docker con CentOS 7 no es tan diferente de lo que era en Ubuntu 16.04, instale una versión nueva de CentOS y actualice

# yum update

Instalar ventana acoplable

# yum install docker

DNS(114)

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

DNS(118)

Extraiga la imagen de fedroa para la ventana acoplable

DNS(117)

Hagamos algunas tareas con el instalador fedora container

Instale apache en el contenedor fedora usando el comando dnf

DNS(121)

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.

DNS(122)

Ahora verifique el sistema operativo instalado

DNS(123)

Está claro que estamos compartiendo el núcleo centos pero ejecutando un contenedor fedora independiente.

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

Clave de importación

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

DNS(124)

Sistema de actualización

# apt-get update

Instalar ventana acoplable

# apt-get install docker.io

Cuando traté de tomar una imagen de centos, obtuve el siguiente error.

# docker pull centos 
FATA[0000] Post https:///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, debemos agregar nuestro usuario al grupo docker

# sudo usermod -a -G docker $USER

Docker está funcionando ahora, extraiga la imagen de Ubuntu

DNS(126)

¿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 proporcionar 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 de sistema operativo sea más segura y 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 más independiente y modular de desarrollo de aplicaciones. También existe otra posibilidad de que las PYMES no requieran un gran procesamiento debido a que las aplicaciones basadas en la ventana acoplable funcionarán incluso en configuraciones de hardware pequeñas, lo que sin duda aumentará el papel de frambuesapi tipo de hardware embebido de Linux. ¡¡Divertirse!!

Related Posts