@thelord/mcp-server-docker-npx
Version:
🐋 Docker MCP Server with NPX support - Manage Docker containers, images, networks, and volumes with natural language. Includes Docker socket access and remote Docker support via SSH/TCP.
117 lines (92 loc) • 3.25 kB
Markdown
# 🐳 Docker Socket Access Guide
## 🔌 Nuevas Herramientas Agregadas
El servidor MCP Docker ahora incluye **3 herramientas adicionales** para manejo avanzado del socket Docker:
### 1. `docker_socket_info`
- **Descripción**: Información sobre acceso y configuración del socket Docker
- **Uso**: Detecta sockets disponibles, verifica accesibilidad
- **Output**: Estado de sockets, rutas detectadas, plataforma
### 2. `docker_system_info`
- **Descripción**: Información detallada del sistema Docker incluyendo detalles del socket
- **Uso**: Diagnóstico completo del daemon Docker
- **Output**: Info del sistema, versión del cliente, configuración actual
### 3. `run_container_with_socket`
- **Descripción**: Ejecutar contenedor con montaje opcional del socket Docker
- **Uso**: Docker-in-Docker, herramientas que necesitan controlar Docker
- **Parámetros adicionales**:
- `mount_docker_socket: bool` - Montar socket Docker
- `docker_socket_path: str` - Ruta personalizada del socket
## 🔍 Detección Automática de Sockets
### Linux
- `/var/run/docker.sock` (estándar)
- `/run/docker.sock`
- `/var/lib/docker.sock`
### macOS
- `/var/run/docker.sock`
- `~/.docker/run/docker.sock`
- `~/Library/Containers/com.docker.docker/Data/docker.sock` (Docker Desktop)
- `~/.colima/default/docker.sock` (Colima)
- `~/.colima/docker.sock`
### Windows
- `//./pipe/docker_engine`
- `npipe:////./pipe/docker_engine`
## 📋 Ejemplos de Uso
### Verificar Socket Docker
```json
{
"tool": "docker_socket_info",
"arguments": {}
}
```
### Docker-in-Docker con Socket
```json
{
"tool": "run_container_with_socket",
"arguments": {
"image": "docker:latest",
"mount_docker_socket": true,
"command": ["docker", "ps"]
}
}
```
### Sistema Info Completo
```json
{
"tool": "docker_system_info",
"arguments": {}
}
```
## 🛡️ Consideraciones de Seguridad
### ⚠️ Montaje del Socket Docker
- Dar acceso al socket Docker permite **control completo** del daemon
- Solo usar con contenedores **confiables**
- Considerar usar Docker Desktop con restricciones
### 🔐 Permisos Requeridos
- El usuario debe tener acceso de lectura/escritura al socket
- En Linux: agregar usuario al grupo `docker`
- En macOS: Docker Desktop maneja permisos automáticamente
## 🧪 Testing con Socket Remoto
```bash
# Probar detección de socket en servidor remoto
ssh root@10.10.10.202 'ls -la /var/run/docker.sock'
# Usar MCP con socket remoto
DOCKER_HOST=ssh://root@10.10.10.202 npx mcp-server-docker-npx
```
## 📚 Variables de Entorno
- `MCP_SERVER_AUTO_DETECT_SOCKET=false` - Deshabilitar detección automática
- `MCP_SERVER_DOCKER_HOST` - Forzar host Docker específico
- `DOCKER_HOST` - Host Docker estándar
- `DOCKER_CONTEXT` - Contexto Docker a usar
## 🔧 Troubleshooting
### Socket no accesible
```bash
sudo chmod 666 /var/run/docker.sock
# O agregar usuario al grupo docker
sudo usermod -aG docker $USER
```
### Docker Desktop no detectado
- Verificar que Docker Desktop esté ejecutándose
- Comprobar configuración en Docker Desktop -> Settings -> Advanced
### Conexión remota falla
- Verificar conectividad SSH
- Comprobar que Docker daemon esté ejecutándose remotamente
- Validar permisos de usuario remoto