Laboratorio DevSecOps

Debian 12 · Docker · Portainer · QA

Sistema Operativo
Debian 12
Bookworm · Estable · Kernel 6.1
Docker Engine
Activo
CE + Compose Plugin + Buildx
Portainer
:9443
Community Edition · HTTPS
Directorio de Trabajo
/opt/projects
SetGID · Permisos 775 · Grupo docker

Arquitectura del Laboratorio

Infraestructura Base
🐧
Debian 12
Kernel Linux · Systemd
🔧
Build Essential
gcc · g++ · make
🛡️
Seguridad
GPG Keys · Permisos ACL
Docker Platform
📦
docker-ce
Motor principal
⚙️
containerd
Runtime
🎼
Compose
Orquestación
🔨
Buildx
BuildKit
Socket: /var/run/docker.sock
Servicios y Contenedores
🚢
Portainer CE
En ejecución
📍 Puerto: 9443 (HTTPS)
💾 Volumen: ./data
🔄 Restart: always
🔗 Docker Socket
Gestión de Contenedores
🗄️
Base de Datos
Por configurar
📍 Puerto:
💾 Volumen:
🔒 Credenciales:
+ Agregar PostgreSQL / MySQL
🧪
Entorno QA
Por configurar
📍 Puerto:
🔄 CI/CD:
📊 Cobertura:
+ Configurar Pipelines

Estructura de Directorios

SetGID: g+s Permisos: 775
# Estructura obligatoria para todos los proyectos del laboratorio
/opt/projects/
├── portainer-ETK/
├── docker-compose.yml # Orquestación del servicio
└── data/ # Volúmenes persistentes
├── [nombre_proyecto]/ # Próximos servicios a desplegar
├── docker-compose.yml
└── data/
└── [qa_environment]/
├── docker-compose.yml
└── data/
$ ls -la /opt/projects
drwxrwsr-x root docker ... g+s aplicado
🔐
SetGID (g+s)
Nuevos archivos heredan grupo docker
👥
Permisos 775
rwx para owner y grupo, rx para otros
📂
Carpeta data/
Persistencia obligatoria por proyecto

Guía de Instalación

1
Preparación del Sistema
sudo apt update · sudo apt upgrade -y
2
Build Essential
sudo apt install build-essential -y
3
Docker & Docker Compose
GPG · Repo oficial · Instalación · Post-configuración
4
Directorios y Permisos
/opt/projects · SetGID · 775 · Grupo docker
5
Portainer CE
Despliegue · Configuración inicial · Setup Token
En progreso

Próximos Pasos

0/5 completados

Comandos Rápidos (Haz clic para copiar)

Docker
docker ps
Listar contenedores activos
docker compose up -d
Levantar servicios en segundo plano (detached)
docker compose logs -f
Ver logs en tiempo real (Ctrl+C para salir)
docker system prune -a
Limpiar imágenes, contenedores y volúmenes no usados
Portainer & Sistema
https://<IP_SERVIDOR>:9443
Acceso a la interfaz web de Portainer (HTTPS)
cd /opt/projects/portainer-ETK
Navegar al directorio del proyecto Portainer
sudo usermod -aG docker $USER && newgrp docker
Agregar usuario actual al grupo docker (sin sudo)
sudo chmod -R 775 /opt/projects && sudo chmod g+s /opt/projects
Aplicar permisos y SetGID al directorio de proyectos
🔧

Laboratorio DevSecOps · ETK

Debian 12 Bookworm · Docker CE · Portainer CE

Documentación viva · Última actualización: Julio 2026

En construcción
Comando copiado
Listo para pegar en tu terminal