Docker para principiantes: todo lo que necesita saber

Jun 15, 2025
Linux

Estibador crea aplicaciones envasadas Llamados contenedores. Cada contenedor proporciona un ambiente aislado similar a un máquina virtual (Vm). A diferencia de VMS, Contenedores Docker No ejecute un sistema operativo completo . Comparten el núcleo de su anfitrión y vieron virtualización a nivel de software.

[dieciséis] Conceptos básicos de Docker

Docker se ha convertido en una herramienta estándar para los desarrolladores de software y los administradores del sistema. Es una forma ordenada de iniciar rápidamente aplicaciones sin afectar el resto de su sistema. Puedes pasar un nuevo servicio con un solo carrera docker mando.

Los contenedores encapsulan todo lo necesario para ejecutar una solicitud, desde la dependencia del paquete OS a su propio código fuente. Usted define los pasos de creación de un contenedor como instrucciones en un Fábrica . Docker usa el archivo DOCER para construir un imagen .

Las imágenes definen el software disponible en contenedores. Esto es igualmente equivalente a iniciar una VM con un sistema operativo ISO. Si crea una imagen, cualquier usuario de Docker podrá iniciar su aplicación con carrera docker .

¿Cómo funciona Docker?

Los contenedores utilizan las características del kernel del sistema operativo para proporcionar entornos parcialmente virtualizados. Es posible crear contenedores desde cero con comandos como chico . Esto inicia un proceso con un directorio raíz específico en lugar de la raíz del sistema. Pero usar las características del kernel directamente es inquieta, insegura y propensa a errores.

Docker es una solución completa para la producción, distribución y uso de contenedores. Las versiones de Docker Modernas están compuestas por Varios componentes independientes. . Primero, está la ventana indicadora. Cli , que es lo que interactúas en tu terminal. El CLI envía comandos a un Demonio . Esto puede ejecutarse localmente o en un host remoto . El demonio es responsable de administrar los contenedores y las imágenes de las que están creadas.

El componente final se llama el Tiempo de ejecución del contenedor . El tiempo de ejecución invoca las características del kernel para iniciar realmente los contenedores. Docker es compatible con los tiempos de ejecución que se adhieren a la Especificación OCI. Este estándar abierto permite la interoperabilidad entre las diferentes herramientas de contenedorización.

No tiene que preocuparse demasiado por el funcionamiento interno de Docker cuando está comenzando por primera vez. Instalación estibador En su sistema le dará todo lo que necesita para construir y ejecutar contenedores.

¿Por qué tanta gente usa Docker?

Los contenedores se han vuelto tan populares porque resuelven muchos desafíos comunes en el desarrollo de software. La capacidad de contenerse una vez y correr en todas partes. reduce la brecha entre Su entorno de desarrollo y sus servidores de producción.

El uso de contenedores le da confianza en que cada ambiente es idéntico. Si tiene un nuevo miembro del equipo, solo necesitan carrera docker para establecer su propia instancia de desarrollo. Cuando inicie su servicio, puede usar su imagen de Docker para implementar en producción. los ambiente en vivo coincidirá exactamente con su instancia local, evitando "Funciona en los escenarios de mi máquina".

Docker es más conveniente que una máquina virtual completa. Las VMS son herramientas de uso general diseñadas para soportar todas las cargas de trabajo posible. Por el contrario, los contenedores son livianos, autosuficientes y más adecuados para los casos de uso desechables. Como Docker comparte el kernel del host, los contenedores tienen un impacto insignificante en el rendimiento del sistema. El tiempo de lanzamiento del contenedor es casi instantáneo, ya que solo está iniciando procesos, no un sistema operativo completo.

Empezando

Docker está disponible en todas las distribuciones populares de Linux. También se ejecuta en Windows y MacOS. Siga el Instrucciones de configuración de Docker para su plataforma para ponerlo en marcha.

Puede verificar que su instalación esté trabajando iniciando un contenedor simple:

 Docker Run Hello-World 

Esto iniciará un nuevo contenedor con lo básico. Hola Mundo imagen. La imagen emite cierta salida que explica cómo usar Docker. Luego, el contenedor sale, cayendo de vuelta a su terminal.

Creando imágenes

Una vez que hayas corrido Hola Mundo , estás listo para crear tus propias imágenes de Docker. Un archivo Docker describe cómo ejecutar su servicio por Instalación de software requerido y copiando en archivos. Aquí hay un ejemplo simple utilizando el servidor web de Apache:

 de httpd: lo último
Ejecute Echo "LoadModule Headers_Module Modules / Mod_Headers.So" & GT; & GT; & GT; /usr/local/apache2/conf/httpd.conf
Copia .htaccess /var/www/html/.htaccess
Copiar index.html /var/www/html/index.html
Copia CSS / / VAR / www / html / css 

los DE La línea define la imagen base. En este caso, estamos a partir de la imagen oficial de Apache. Docker aplica las instrucciones restantes en su archivo DOCER en la parte superior de la imagen base.

los CORRER La etapa corre un comando dentro del contenedor. Esto puede ser cualquier comando disponible en el entorno del contenedor. Estamos habilitando el encabezados Módulo Apache, que podría ser utilizado por el .htaccess Archivo para configurar las reglas de enrutamiento.

Las líneas finales copian los archivos HTML y CSS en su directorio de trabajo en la imagen del contenedor. Su imagen ahora contiene todo lo que necesita para ejecutar su sitio web.

Ahora, puedes construir la imagen:

 Docker Build -t My-Sitio web: V1. 

Docker usará su archivo DOCKER para construir la imagen. Verá la salida en su terminal, ya que Docker ejecuta cada una de sus instrucciones.

los -t en el comando Etiqueta tu imagen con un nombre dado ( My-Sitio web: v1 ). Esto hace que sea más fácil referirse en el futuro. Las etiquetas tienen dos componentes, separadas por un colon. La primera parte establece el nombre de la imagen, mientras que el segundo generalmente denota su versión. Si omites el colon, Docker se incumplirá al uso más reciente como la versión de etiqueta.

los . Al final del comando le dice a Docker que use el archivo DOCER en su directorio de trabajo local. Esto también Establece el contexto de construcción , lo que le permite usar archivos y carpetas en su directorio de trabajo con COPIAR INSTRUCCIONES EN SUFILLO DE DOCKER.

Una vez que haya creado su imagen, puede iniciar un contenedor usando carrera docker :

 docker run -d -p 8080: 80 My-Sitio web: v1 

Estamos usando algunas banderas extra con carrera docker aquí. los -D La bandera hace que el Docker Cli se separe del contenedor, lo que le permite ejecutarse en el fondo. Un mapeo de puerto se define con -pag , así que Port 8080 en sus mapas de host al puerto 80 en el contenedor. Debería ver su página web si visita localhost: 8080 en tu navegador.

Las imágenes de Docker se forman a partir de capas. Cada instrucción en su archivo Docker crea una nueva capa. Puedes usar características avanzadas de la construcción a Referencia Múltiples imágenes de base , descartando capas intermedias de imágenes anteriores.

Registros de imágenes

Una vez que tenga una imagen, puede empujarlo a un registro. Registros proporcionar almacenamiento centralizado para que puedas compartir contenedores con otros. El registro predeterminado es Hub Docker .

Cuando ejecuta un comando que hace referencia a una imagen, Docker primero verifica si está disponible localmente. Si no lo es, intentará jalarlo desde el centro de Docker. Puedes tirar manualmente las imágenes con el tirón atrae mando:

 Docker Pull httpd: último 

Si quieres publicar una imagen, crea un Hub Docker cuenta. Correr inicio de sesión e ingrese su nombre de usuario y contraseña.

A continuación, etiquete su imagen usando su nombre de usuario de Docker Hub:

 Etiqueta de Docker My-Image: Últimos Docker-Hub-Nombre de usuario / My-Image: Lo último 

Ahora, puedes presionar tu imagen:

 Docker Push Docker-Hub-Nombre de usuario / My-Image: Lo último 

Otros usuarios podrán tirar de su imagen y comenzar contenedores con él.

Usted puede Ejecuta tu propio registro Si necesita almacenamiento de imágenes privadas. Varios servicios de terceros también. Ofrecer registros de Docker Como alternativas al centro de atracción.

Gestionando sus contenedores

The Docker CLI tiene varios comandos para permitirle administrar sus contenedores de carrera. Aquí están algunos de los más útiles para saber:

Contenedores de listado

docker ps Te muestra todos tus contenedores de carrera. Añadiendo el -a La bandera también mostrará contenedores detenidos, también.

Detención y contenedores de inicio

Para detener un contenedor, correr Docker detener mi contenedor . Reemplazar my-contenedor con el nombre o la identificación del contenedor. Puedes obtener esta información de la PD mando. Se reinicia un recipiente detenido con Docker Start My-Container .

Los contenedores generalmente se ejecutan durante el tiempo que su proceso principal permanece vivo. Políticas de reinicio Controla lo que sucede cuando un contenedor se detiene o se reinicia su host. Aprobar --Restart siempre para carrera docker Para que un contenedor se reinicie inmediatamente después de que se detenga.

Conseguir una cáscara

Usted puede ejecutar un comando en un contenedor usando Docker EXEC My-Container My-Command . Esto es útil cuando desea invocar manualmente un ejecutable que está separado al proceso principal del contenedor.

Añade el -eso bandera si necesita acceso interactivo. Esto te permite caer en una cáscara corriendo Docker Exec -it My-contenedor sh .

Registros de monitoreo

El Docker recopila automáticamente la salida emitida a los flujos de entrada y salida estándar de un contenedor. los Docker Logs My-Container El comando mostrará los registros de un contenedor dentro de su terminal. los --seguir La bandera establece una corriente continua para que pueda ver registros en tiempo real.

Limpiando recursos

Los antiguos contenedores e imágenes pueden acumularse rápidamente en su sistema. Usar Docker RM My-Container para eliminar un contenedor por su identificación o nombre.

El comando para imágenes es Docker RMI My-Image: El último . Pase la identificación de la imagen o el nombre completo de la etiqueta. Si especifica una etiqueta, la imagen no se eliminará hasta que no tenga más etiquetas asignadas. De lo contrario, se eliminará la etiqueta dada, pero las otras etiquetas de la imagen se mantendrán utilizables.

Las limpiezas a granel son posibles utilizando el Docker Prune mando . Esto le da una forma fácil de eliminar todos los contenedores de parada y imágenes redundantes.

Gestión gráfica

Si el terminal no es lo tuyo, puedes usar herramientas de terceros para Configurar una interfaz gráfica para DUCHER . Los paneles web le permiten monitorear y administrar rápidamente su instalación. También lo ayudan a tomar el control remoto de sus contenedores.

Almacenamiento de datos persistentes

Los contenedores DOCER son efímeros por defecto. Los cambios realizados en el sistema de archivos de un contenedor no persistirán después de que el contenedor se detiene. No es seguro Ejecutar cualquier forma de sistema de almacenamiento de archivos. en un contenedor comenzó con un básico carrera docker mando.

Hay algunos enfoques diferentes para Gestión de datos persistentes . El más común es usar un volumen de Docker. Los volúmenes son unidades de almacenamiento. que se montan en sistemas de archivos de contenedores. Cualquier dato en un volumen permanecerá intacto después de que sus paradas de contenedores vinculadas, lo que le permitirá conectar otro contenedor en el futuro.

Manteniendo la seguridad

Las cargas de trabajo atracadoras pueden ser más seguras que sus contrapartes de metal desnudo, ya que Docker proporciona cierta separación entre el sistema operativo y sus servicios. No obstante, Docker es un problema de seguridad potencial, ya que normalmente se ejecuta como raíz y podría ser explotado para ejecutar software malicioso.

Si solo está ejecutando Docker como una herramienta de desarrollo, la instalación predeterminada es generalmente segura de usar. Los servidores de producción y las máquinas con un zócalo de demonio expuesto a la red deben endurecerse antes de ir a vivir.

Audita su instalación de Docker para identificar posibles problemas de seguridad. Existen Herramientas automatizadas disponibles Eso puede ayudarlo a encontrar debilidades y sugerir resoluciones. Tú también puedes Escanear imágenes de contenedor individual para problemas que podrían ser explotados desde dentro.

Trabajando con múltiples contenedores

los estibador El comando solo funciona con un contenedor a la vez. A menudo querrás usar contenedores en conjunto. Docker compone es una herramienta que le permite definir sus contenedores de manera declarativa en un archivo YAML. Puedes arrancarlos todos con un solo comando.

Esto es útil cuando su proyecto depende de otros servicios, como un backend web que se basa en un servidor de base de datos. Puedes definir ambos contenedores en tu Docker-compone.yml y beneficiarse de la gestión aerodinámica con Redes automáticas .

Aquí hay un simple Docker-compone.yml expediente:

 Versión: "3"
servicios:
  aplicación:
    Imagen: App-Server: Lo último
    Puertos:
      - 8000: 80
  base de datos:
    Imagen: Base de datos: servidor: lo último
    volúmenes:
        - Datos de base de datos: / DATOS
volúmenes:
    Datos de base de datos: 

Esto define dos contenedores ( app y base de datos ). Se crea un volumen para la base de datos. Esto se monta para /datos en el contenedor. El puerto 80 del servidor de aplicaciones está expuesto como 8000 en el host. Correr Docker-compone la -d Para girar ambos servicios, incluida la red y el volumen.

El uso de Docker compone te permite escribir reutilizable Definiciones de contenedores que puede compartir con otros. Podrías cometer un Docker-compone.yml en su control de versión en lugar de tener un memorización de desarrolladores carrera docker comandos.

También hay otros enfoques para ejecutar múltiples contenedores. La aplicación Docker es Una solución emergente que proporciona otro nivel de abstracción. En otra parte del ecosistema, Podman es una alternativa de Docker Eso le permite crear "vainas" de contenedores dentro de su terminal.

Orquestación de contenedores

El Docker no se ejecuta normalmente como está en producción. Ahora es más común usar una plataforma de orquestación, como Kubernetes o modo de enjambre Docker. Estas herramientas están diseñadas para manejar Réplicas de contenedores múltiples, Lo que mejora la escalabilidad y la confiabilidad.

El Docker es solo un componente en el movimiento de contenedorización más amplio. Orquestadores utilizar lo mismo Tecnologías de tiempo de ejecución del contenedor para proporcionar un entorno que sea un mejor ajuste para la producción. Usando múltiples instancias de contenedores Permite las actualizaciones de Rolling Además de la distribución a través de máquinas, lo que hace que su despliegue sea más resistente para cambiar y interrumpir. El regular estibador Cli se dirige a un host y trabaja con contenedores individuales.

Una plataforma poderosa para contenedores.

Docker le da todo lo que necesita para trabajar con contenedores. Se ha convertido en una herramienta clave para el desarrollo de software y la administración del sistema. Los beneficios principales son un aumento del aislamiento y la portabilidad para los servicios individuales.

Familiarizarse con Docker requiere una comprensión del contenedor básico y los conceptos de imagen. Puede aplicar estos para crear sus imágenes y entornos especializados que contengan sus cargas de trabajo.


Linux - Artículos más populares

CÓMO MADAR LOS PROCIOS DE ZOMBIE EN LINUX

Linux Nov 25, 2024

Fatmawati Achmad Zaenuri / Shutterstock Los programas que están mal escritos o realizados pueden irse. Procesos de zombie Acechando dentro de su co..


Cómo procesar una línea de archivos por línea en un script de Bash Linux

Linux Feb 3, 2025

Fatmawati Achmad Zaenuri / Shutterstock Es bastante fácil leer el contenido de una línea de archivos de texto de Linux por línea en un script de shell, si..


Cómo usar la expansión de Brace en la cáscara de bash de Linux

Linux May 12, 2025

Fatmawati Achmad Zaenuri / Shutterstock La expansión de Brace es una técnica útil para generar listas de cadenas que se pueden usar en scripts y alias y en ..


Qué hay de nuevo en Debian 11 "Bullseye"

Linux Jul 22, 2025

Debian , el progenitor de muchas otras distribuciones de Linux, ha hecho que la liberación 11 esté disponible en la etapa de prueba. ¿Está pesando las virtudes de la actuali..


Cómo retroceder el kernel en Linux

Linux Sep 30, 2025

Fatmawati Achmad Zaenuri / Shutterstock.com Si su PC Linux, de repente, tiene problemas después de una actualización a su sistema, es posible un Kern..


Cómo ejecutar aplicaciones de Android en Linux

Linux Oct 19, 2025

Quickbits / Shutterstock.com ¿Alguna vez has querido ejecutar una aplicación de Android en Linux, pero no quería meterse en los puentes de depuración, ento..


Cómo desactivar una PC de Ubuntu

Linux Oct 12, 2025

Como todas las computadoras personales, una PC que ejecuta el Ubuntu El sistema operativo de escritorio debe estar apagado de vez en cuando. Apagar Ubuntu es fácil, y tiene var..


¿Qué es la época de Unix y cómo funciona el tiempo de UNIX?

Linux Nov 10, 2024

Mikhail Leonov / Shutterstock Unix almacena el tiempo como el número de segundos desde el 1 de enero de 1970. Y eso significa que Linux también lo hace. Expl..


Categorías