GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

Una introducción a Docker

¿Qué es Docker?

Docker es una herramienta que le permite crear, implementar y administrar paquetes ligeros e independientes que contienen todo lo necesario para ejecutar una aplicación (código, bibliotecas, tiempo de ejecución, configuración del sistema y dependencias). Estos paquetes se denominan contenedores.

Cada contenedor se implementa con su propia CPU, memoria, bloque de E/S y recursos de red, todo sin tener que depender de un kernel y sistema operativo individuales. Si bien puede ser más fácil comparar Docker y máquinas virtuales, difieren en la forma en que comparten o dedican recursos.

Los contenedores ayudan a expandir la funcionalidad de Linode de varias maneras. Por ejemplo, puede implementar varias instancias de nginx con varias etapas (como desarrollo y producción). A diferencia de la implementación de múltiples máquinas virtuales, los contenedores implementados no gravarán los recursos de Linode.

Imágenes acoplables

Cada contenedor de Docker se crea a partir de una imagen. Extrae imágenes de un registro de Docker (como el hub oficial de Docker) y las usa para crear contenedores. Una sola imagen puede crear numerosos contenedores. Por ejemplo, podría usar la última imagen de nginx para implementar un contenedor de servidor web para:

  • Operaciones de desarrollo web
  • Pruebas
  • Producción
  • Aplicaciones web

Dockerfiles

Un Dockerfile es un archivo de texto que contiene los comandos necesarios para ensamblar una imagen. Una vez que se escribe un Dockerfile, el administrador usa la docker build comando para crear una imagen basada en los comandos dentro del archivo. Los comandos y la información dentro del Dockerfile se puede configurar para usar versiones y dependencias de software específicas para garantizar implementaciones consistentes y estables.

Un Dockerfile usa los siguientes comandos para construir las imágenes:

  • AÑADIR - copiar archivos desde una fuente en el host al propio sistema de archivos del contenedor en el destino establecido.
  • CMD - ejecutar un comando específico dentro del contenedor.
  • PUNTO DE ENTRADA - establezca una aplicación predeterminada para que se utilice cada vez que se cree un contenedor con la imagen.
  • ENV - establecer variables de entorno.
  • EXPONER - exponer un puerto específico para permitir la creación de redes entre el contenedor y el mundo exterior.
  • DESDE - definir la imagen base utilizada para iniciar el proceso de compilación.
  • MANTENEDOR - definir el nombre completo y la dirección de correo electrónico del creador de la imagen.
  • CORRE - directiva de ejecución central para Dockerfiles.
  • USUARIO - establezca el UID (el nombre de usuario) que ejecutará el contenedor.
  • VOLUMEN - habilitar el acceso desde el contenedor a un directorio en la máquina host.
  • DIR.TRABAJO - establecer la ruta donde se ejecutará el comando, definido con CMD.

No se deben usar todos los comandos. A continuación se muestra un ejemplo de Dockerfile en funcionamiento, utilizando solo el MAINTAINER , FROM y RUN comandos:

Archivo:Dockerfile

Docker Enjambre

Docker facilita la unión de servidores para formar un clúster, llamado Docker Swarm. Una vez que haya creado un administrador de enjambre o líder y los nodos adjuntos al líder, puede escalar horizontalmente la implementación de contenedores. El líder adaptará automáticamente el clúster agregando o eliminando tareas para mantener el estado deseado.

Un nodo es una única instancia del motor Docker que participa en Swarm. Puede ejecutar uno o más nodos en un solo Linode. El administrador de Swarm utiliza el equilibrio de carga de entrada para exponer los servicios que pueden estar disponibles para Swarm. Docker Swarm también puede:

  • Compruebe el estado de sus contenedores.
  • Inicie un conjunto fijo de contenedores desde una sola imagen de Docker.
  • Escale el número de contenedores hacia arriba o hacia abajo (dependiendo de la carga actual).
  • Realice actualizaciones continuas en todos los contenedores.
  • Proporcione redundancia y conmutación por error.
  • Agregue o reste iteraciones de contenedores a medida que cambien las demandas.

Pasos siguientes

Para explorar más a fondo Docker, visite nuestra Referencia rápida de Docker, nuestra guía sobre la implementación de un servidor web Node.js o la guía LinodeCómo instalar Docker e implementar una pila LAMP.

Más información

Es posible que desee consultar los siguientes recursos para obtener información adicional sobre este tema. Si bien estos se proporcionan con la esperanza de que sean útiles, tenga en cuenta que no podemos garantizar la precisión o la puntualidad de los materiales alojados externamente.

  • Documentos de Docker
  • Tutorial de prueba de Docker
  • Centro acoplable

Docker
  1. Algunos comandos DOCKER

  2. Cómo usar SSH en un contenedor Docker

  3. Cómo listar contenedores Docker

  4. Introducción a los contenedores Docker

  5. Introducción a las imágenes de Docker

Cómo ejecutar PHPMyAdmin en un contenedor Docker

Cómo ejecutar Grafana en un contenedor Docker

Cómo configurar un contenedor Apache Docker

Cómo ejecutar contenedores Docker

Qué hacer si un contenedor Docker sale inmediatamente

Uso de Docker Desktop para administrar un contenedor

    1
    2
    3
    
    MAINTAINER NAME EMAIL
    FROM ubuntu:latest
    RUN apt-get -y update && apt-get -y upgrade && apt-get install -y build-essential