Red de conocimientos sobre prescripción popular - Conocimiento dental - Cómo usar Docker para administrar contenedores de Linux en Ubuntu

Cómo usar Docker para administrar contenedores de Linux en Ubuntu

Si bien las tecnologías de virtualización de hardware estándar (como KVM, Xen o Hyper-V) son buenas para ejecutar instancias completamente aisladas de múltiples sistemas operativos en un host físico, esta tecnología de virtualización tiene varias limitaciones en cuanto a rendimiento, recursos y tiempo de aprovisionamiento de recursos. . Es posible que la virtualización de máquinas estándar no sea necesaria, según su caso de uso real.

Otro método de virtualización ligero son los llamados contenedores Linux (LXC), que proporcionan virtualización a nivel del sistema operativo. Debido a que no hay gastos generales al ejecutar máquinas virtuales, LXC permite a los usuarios ejecutar múltiples instancias del sistema operativo Linux estándar en un entorno limitado de contenedor liviano. Los contenedores resultan útiles si crea un entorno de desarrollo/prueba replicable o si implementa aplicaciones en un entorno limitado seguro.

Docker es una herramienta de código abierto que fue desarrollada para facilitar la implementación de contenedores de Linux. Docker se está convirtiendo rápidamente en el estándar de facto en tecnología de contenedores y es adoptado por las principales distribuciones de Linux, como Ubuntu y Red Hat.

En este tutorial, demostraré cómo usar Docker para administrar contenedores de Linux en Ubuntu 14.04. Tenga en cuenta: para versiones anteriores de Ubuntu, los pasos pueden ser ligeramente diferentes.

Los paquetes Docker disponibles actualmente en Ubuntu sólo admiten sistemas de 64 bits. Para ejecutarlo en una máquina de 32 bits, necesita crear una versión de 32 bits de Docker desde el código fuente (detalles aquí).

Instalación de Docker

Con el comando apt-get, instalar Docker es fácil.

$ sudo apt-get install docker.io

Para permitir que usuarios no root ejecuten Docker, agréguese al grupo de Docker. El siguiente comando permitirá al usuario actual ejecutar Docker sin privilegios de root.

$ sudo usermod -a -G docker $USER

Cierre sesión y vuelva a iniciarla para activar los cambios en la membresía del grupo.

A continuación, edite el archivo de configuración de Docker para actualizar la ubicación del código binario de Docker.

$ sudo vi /etc/default/docker.io

DOCKER="/usr/bin/docker.io "

Reinicie el servicio Docker.

$ sudo service docker.io restart

Administrar el contenedor Docker

Si desea iniciar un nuevo contenedor Docker del sistema operativo Ubuntu, debe obtener el Ubuntu Primer documento de la imagen de Docker. El siguiente comando descargará el archivo de imagen de Docker a través de la red.

$ docker pull ubuntu

Puedes abrir Ubuntu Docker en modo interactivo, como se muestra a continuación. El último parámetro "/bin/bash" es un comando que se ejecutará en el contenedor una vez iniciado. A continuación se muestra un comando de shell bash simple.

$ docker run -i -t ubuntu /bin/bash

El comando anterior iniciará inmediatamente un contenedor de Ubuntu (¡ésta es la belleza de los contenedores!) y le proporcionará un shell inmediato. En este punto, debería poder acceder al sistema operativo estándar Ubuntu en un entorno sandbox.

Para salir de un contenedor Docker, escriba "salir" en el mensaje dentro del contenedor.

Puedes iniciar diferentes tipos de contenedores. Por ejemplo, para iniciar un contenedor de Fedora, ejecute el siguiente comando:

$ docker .io run-I-t fedora/bin/bash

Si no hay un archivo de imagen de Fedora Docker localmente, este comando primero descargará automáticamente el archivo de imagen y luego iniciará Docker.

Si desea iniciar un contenedor utilizando la versión de distribución, también puede hacerlo.

Por ejemplo, para iniciar Ubuntu 13.04 Docker, ejecute el siguiente comando:

$ docker .io run-I -t Ubuntu:13.04/bin/bash

Container Network

.

Docker utiliza puentes de Linux para interconectar contenedores y conectarlos a redes externas. Después de instalar Docker, debería ver el puente Linux docker0 configurado automáticamente de forma predeterminada. Cada contenedor que cree se conectará a la interfaz del puente docker0.

Puente Linux personalizado

Si lo prefieres, también puedes utilizar un puente Linux personalizado para interconectar contenedores. Para hacer esto, puede crear un puente personalizado y configurarlo como se muestra a continuación. Puede asignar una subred separada al puente y asignarle a Docker una dirección IP desde la subred. Usaré 10.0.0.0/24 como subred de Docker.

$ sudo apt-get install bridge utilidad

$ sudo brctl addbr br0

$ sudo ifconfig br0 10 . /p>

Si desea que DOCKER use un puente personalizado, agregue "-b=br0" a la variable DOCKER_OPTS en /etc/default/Docker.io y luego reinicie el servicio Docker.

$ sudo service docker.io restart

En este punto, todos los contenedores nuevos se conectarán a br0 y su dirección IP se asignará automáticamente desde 10.0.0/24.

Otras personalizaciones

Hay varias otras formas de personalizar la configuración de red predeterminada de Docker, principalmente cambiando la variable DOCKER_OPTS en /etc /etc/default/docker.io

"-DNS 8.8.8.8-DNS 8.8.4.4": Especifica el servidor DNS utilizado por el contenedor.

"-icc=false ": Aislar los contenedores entre sí.

Resolver disputas

1. Cuando ejecute el comando docker.io, encontrará el siguiente error.

Dialunix/var/run/docker.sock: No existe tal archivo o directorio.

El motivo de este error puede ser que el demonio Docker no se esté ejecutando. Verifique el estado del demonio Docker y asegúrese de que se inicie primero.

$ sudo service docker.io status

$ sudo service docker.io start