8 Instalar Docker Y Docker Compose

  • La sintaxis en docker-compose.yml es:
    volumes: - ./ruta/local:/ruta/en/contenedor

El . significa "busca el Dockerfile en la carpeta actual".

¿Qué hace - ./:/var/www/html?

  • ./ es la carpeta actual de tu host (donde está el docker-compose.yml).

  • /var/www/html es la ruta dentro del contenedor.

  • Efecto: Todo lo que esté en ./ se ve dentro del contenedor en /var/www/html, y todo lo que se cree dentro del contenedor en /var/www/html aparecerá automáticamente en tu ./. Es una sincronización bidireccional y en tiempo real.


 El "bind mount" (volumes: - ./:/var/www/html) es el corazón de la sincronización entre tu PC y el contenedor.

Resumen del tutorial

El video tutorial guía paso a paso la instalación de Docker y Docker Compose en un sistema Linux (basado en Debian/Ubuntu), y explica cómo configurar el entorno para que cualquier usuario pueda ejecutar comandos Docker sin necesidad de privilegios de administrador (root).


🔧 Pasos principales

  1. Instalación de Docker

    • Se usa el comando:

      bash
      sudo apt-get install docker.io
    • Se confirma la instalación y se espera a que finalice.

  2. Inicio del servicio Docker

    • Se inicia el servicio con:

      bash
      sudo systemctl start docker
  3. Verificación de la versión

    • Se comprueba que Docker esté instalado correctamente con:

      bash
      docker version
    • Se muestra la versión 19.03.

  4. Instalación de Docker Compose

    • Se instala el paquete docker-compose (mencionado como "Docker con Pouze" en el audio):

      bash
      sudo apt-get install docker-compose
    • Se destaca que esta herramienta es más ligera y rápida que otras alternativas.

  5. Agregar el usuario al grupo docker (práctica recomendada)

    • Se verifica si el grupo docker ya existe:

      bash
      sudo groupadd docker
    • Se agrega el usuario actual al grupo:

      bash
      sudo usermod -aG docker $USER
    • Esto permite ejecutar Docker sin sudo.

  6. Reinicio de sesión o grupo

    • Se recomienda usar:

      bash
      newgrp docker
    • Para aplicar los cambios sin cerrar sesión.

  7. Prueba de funcionamiento

    • Se ejecuta la imagen de prueba hello-world para verificar que todo funciona sin privilegios:

      bash
      docker run hello-world
    • La imagen se descarga automáticamente y se ejecuta correctamente.


✅ Puntos más importantes destacados

  • Agregar el usuario al grupo docker es una buena práctica para evitar usar sudo en cada comando.

  • Se confirma que Docker y Docker Compose quedan instalados y operativos.

  • Se prueba con éxito la imagen hello-world.

  • El tutorial termina anunciando que en el siguiente video se configurará un proyecto Laravel con Docker y Docker Compose.


Si necesitas el resumen en otro formato o más detallado, avísame

Instalar Docker y Docker Compose en Ubuntu Server

Este tutorial te guiará a través de la instalación de Docker Engine y Docker Compose en tu máquina virtual con Ubuntu Server. Seguiremos el método oficial recomendado, que garantiza tener las versiones más recientes y estables, así como las actualizaciones de seguridad más rápidas.

Requisitos Previos

  • Máquina virtual con Ubuntu Server (22.04 LTS o 24.04 LTS) configurada y con acceso a Internet.

  • Conexión SSH activa a tu servidor (o acceso directo a la consola).

  • Usuario con privilegios sudo.


Paso 1: Preparación del Sistema

Antes de instalar Docker, es recomendable actualizar los paquetes del sistema y asegurarse de que no haya versiones antiguas de Docker instaladas.

bash
sudo apt update
sudo apt upgrade -y

Si tienes versiones anteriores de Docker (docker, docker-engine, docker.io), es mejor eliminarlas para evitar conflictos:

bash
sudo apt remove docker docker-engine docker.io containerd runc

Nota: Este paso no eliminará imágenes, contenedores o volúmenes existentes.

Paso 2: Instalar Docker desde el Repositorio Oficial (Método Recomendado)

El método más actual y recomendado es instalar Docker desde su repositorio oficial APT. Esto te asegura obtener la versión más reciente y estable, además de facilitar las actualizaciones futuras.

2.1. Instalar dependencias necesarias

bash
sudo apt install -y ca-certificates curl gnupg lsb-release

2.2. Agregar la clave GPG oficial de Docker

bash
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

2.3. Agregar el repositorio oficial de Docker a las fuentes de APT

bash
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

2.4. Actualizar el índice de paquetes

bash
sudo apt update

2.5. Instalar Docker Engine y sus componentes

bash
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Este comando instala:

  • docker-ce: El motor de Docker.

  • docker-ce-cli: La interfaz de línea de comandos.

  • containerd.io: El runtime de contenedores.

  • docker-buildx-plugin: Plugin para builds avanzados.

  • docker-compose-plugin: Plugin de Docker Compose (versión 2).

Ventaja de este método: Al instalar docker-compose-plugin, obtienes Docker Compose como un plugin nativo de Docker, lo que permite usar el comando docker compose (sin guion) de forma integrada.

Paso 3: Verificar la Instalación de Docker

Una vez finalizada la instalación, puedes verificar que Docker esté funcionando correctamente:

bash
sudo systemctl status docker

Deberías ver que el servicio está active (running). Si no está activo, inícialo con:

bash
sudo systemctl start docker

Y habilítalo para que arranque automáticamente:

bash
sudo systemctl enable docker

Para comprobar la versión instalada:

bash
docker --version

Paso 4: Verificar la Instalación de Docker Compose

Dado que instalamos el plugin, puedes verificar la versión de Docker Compose con:

bash
docker compose version

Nota importante: Con el plugin, el comando es docker compose (con espacio, sin guion). El antiguo docker-compose (con guion) ya no es el método recomendado.

Paso 5: Configurar Permisos para Ejecutar Docker sin sudo (Opcional pero Recomendado)

Para evitar tener que usar sudo cada vez que ejecutes un comando Docker, puedes agregar tu usuario al grupo docker.

5.1. Crear el grupo docker (si no existe)

bash
sudo groupadd docker

5.2. Agregar tu usuario al grupo docker

bash
sudo usermod -aG docker $USER

5.3. Aplicar los cambios

Para que los cambios de grupo tengan efecto, puedes cerrar sesión y volver a iniciarla, o usar el siguiente comando:

bash
newgrp docker

Advertencia de seguridad: Agregar un usuario al grupo docker le otorga privilegios equivalentes a los de root, ya que puede ejecutar contenedores con acceso al sistema host. Solo haz esto en entornos de desarrollo o si confías plenamente en los usuarios.

Paso 6: Probar la Instalación

Ejecuta el clásico contenedor "Hello World" para confirmar que todo funciona correctamente:

bash
docker run hello-world

Si ves un mensaje de bienvenida de Docker, ¡la instalación fue exitosa!


Resumen de Novedades y Mejores Prácticas

AspectoMétodo Tradicional (del archivo)Método Actual / Recomendado
Origen de Dockersudo apt install docker (paquete docker.io de Ubuntu)Repositorio oficial de Docker (docker-ce)
Instalación de Docker Composesudo apt install docker-compose (paquete independiente)docker-compose-plugin (plugin nativo de Docker)
Comando de Docker Composedocker-compose (con guion)docker compose (con espacio, como subcomando)
ActualizacionesDependen del ciclo de Ubuntu (más lentas)Actualizaciones directas desde Docker (más rápidas)
Gestión de versionesMenos control sobre la versiónPosibilidad de fijar versiones y actualizar de forma controlada
Instalación de pluginsNo incluidoIncluye docker-buildx-plugin y docker-compose-plugin

Ventajas del Método Actual

  1. Versiones más recientes: El repositorio oficial de Docker ofrece actualizaciones más frecuentes y parches de seguridad.

  2. Mayor estabilidad: Los paquetes docker-ce están probados específicamente para entornos de producción.

  3. Integración nativa: Docker Compose como plugin se integra perfectamente con el ecosistema Docker.

  4. Soporte oficial: Docker ofrece soporte directo para su repositorio oficial.

  5. Compatibilidad con nuevas características: Puedes acceder a las últimas funcionalidades de Docker y Compose sin esperar a que Ubuntu las incluya en sus repositorios.


¡Con esto ya tienes Docker y Docker Compose instalados y configurados correctamente en tu máquina virtual! Ahora estás listo para comenzar a trabajar con contenedores y orquestar tus aplicaciones con Docker Compose




Comentarios

Entradas más populares de este blog

12. Hola Mundo en Docker.

11¿Qué es Docker? y ¿Por qué debo saberlo?

14. Publish and Detached modes