DockerContenedoresDocker Compose7 min de lectura

Instalar Docker y Docker Compose

Instalá Docker Engine y Docker Compose para ejecutar aplicaciones en contenedores aislados.


Docker te permite ejecutar aplicaciones en contenedores aislados. Docker Compose simplifica la orquestación de múltiples servicios.

Paso 1 — Instalar dependencias

bash
sudo apt update
sudo apt install ca-certificates curl gnupg -y

Paso 2 — Agregar el repositorio oficial de Docker

bash
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

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

Para Debian, reemplazá ubuntu por debian en la URL.

Paso 3 — Instalar Docker Engine

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

Paso 4 — Verificar la instalación

bash
sudo docker run hello-world

Paso 5 — Ejecutar Docker sin sudo

bash
sudo usermod -aG docker $USER
newgrp docker

Cerrá sesión y volvé a conectarte para que tome efecto.

Paso 6 — Verificar Docker Compose

Docker Compose viene incluido como plugin:

bash
docker compose version

Ejemplo: docker-compose.yml

yaml
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_PASSWORD: secreto123
      POSTGRES_DB: mi_app
    volumes:
      - pgdata:/var/lib/postgresql/data

volumes:
  pgdata:

Levantá los servicios:

bash
docker compose up -d
docker compose ps
docker compose logs -f

Comandos útiles

bash
docker ps                    # Contenedores activos
docker images                # Imágenes descargadas
docker system prune -a       # Limpiar todo lo no usado
docker compose down          # Detener y eliminar contenedores

¿Te resultó útil esta guía?