docker-networking
Configure Docker networking for containers including bridge, overlay, and service discovery
What this skill does
# Docker Networking Skill
Master Docker networking concepts and configuration for container communication, service discovery, and network isolation.
## Purpose
Configure and troubleshoot Docker networks for development and production environments with proper isolation and service discovery.
## Parameters
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| driver | enum | No | bridge | bridge/overlay/host/macvlan |
| subnet | string | No | - | Custom subnet CIDR |
| internal | boolean | No | false | Internal-only network |
## Network Drivers
| Driver | Use Case | Multi-Host | Encryption |
|--------|----------|------------|------------|
| bridge | Single host, default | No | No |
| overlay | Swarm, multi-host | Yes | Optional |
| host | Max performance | No | N/A |
| macvlan | Physical network | No | No |
| none | Disable networking | No | N/A |
## Configuration Examples
### Custom Bridge Network
```bash
# Create network with custom subnet
docker network create \
--driver bridge \
--subnet 172.28.0.0/16 \
--gateway 172.28.0.1 \
my_network
# Run container on network
docker run -d --name app \
--network my_network \
nginx:alpine
```
### Docker Compose Networking
```yaml
services:
frontend:
image: nginx:alpine
networks:
- public
ports:
- "80:80"
backend:
image: node:20-alpine
networks:
- public
- private
expose:
- "3000"
database:
image: postgres:16-alpine
networks:
- private # Internal only
networks:
public:
driver: bridge
private:
driver: bridge
internal: true # No external access
```
### Service Discovery
```yaml
# Containers can reach each other by service name
services:
app:
image: myapp
environment:
# Use service name as hostname
DATABASE_HOST: database
CACHE_HOST: redis
database:
image: postgres:16-alpine
redis:
image: redis:alpine
```
### Overlay Network (Swarm)
```bash
# Create encrypted overlay
docker network create \
--driver overlay \
--attachable \
--opt encrypted \
my_overlay
```
## Port Mapping
```bash
# Map host:container
docker run -p 8080:80 nginx
# Bind to specific interface
docker run -p 127.0.0.1:8080:80 nginx
# Random host port
docker run -P nginx
# UDP port
docker run -p 53:53/udp dnsserver
```
## Error Handling
### Common Errors
| Error | Cause | Solution |
|-------|-------|----------|
| `network not found` | Typo or deleted | Create network |
| `address in use` | Port conflict | Change port |
| `cannot reach` | Wrong network | Check network membership |
| `DNS failed` | Service not ready | Add health checks |
### Fallback Strategy
1. Verify network exists: `docker network ls`
2. Check container membership: `docker network inspect <net>`
3. Test DNS: `docker exec app nslookup backend`
## Troubleshooting
### Debug Checklist
- [ ] Network created? `docker network ls`
- [ ] Container connected? `docker inspect <container>`
- [ ] DNS resolving? `nslookup` from container
- [ ] Port mapped? `docker port <container>`
### Diagnostic Commands
```bash
# List networks
docker network ls
# Inspect network
docker network inspect my_network
# Test connectivity
docker exec app ping -c 3 database
# Check DNS
docker exec app nslookup backend
# View port mappings
docker port container_name
```
### Network Debugging
```bash
# Enter container network namespace
docker exec -it app sh
# Check DNS resolution
cat /etc/resolv.conf
nslookup database
# Check connectivity
ping -c 3 backend
curl http://backend:3000/health
```
## Usage
```
Skill("docker-networking")
```
## Related Skills
- docker-compose-setup
- docker-swarm
Related in Cloud & DevOps
appbuilder-action-scaffolder
IncludedCreate, implement, deploy, and debug Adobe Runtime actions with consistent layout, validation, and error handling. Use this skill whenever the user needs to add actions to an App Builder project, understand action structure (params, response format, web/raw actions), configure actions in the manifest, use App Builder SDKs (State, Files, Events, database), deploy and invoke actions via CLI, debug action issues, or implement patterns such as webhook receivers, custom event providers, journaling consumers, large payload redirects, action sequence pipelines, and Asset Compute workers. Also trigger when users mention serverless functions in Adobe context, action logging, IMS authentication for actions, or cron-style scheduled actions.
orchestrating-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use observing-agentforce), standard CRM SOQL (use querying-soql), or Apex implementation (use generating-apex).
github-project-automation
IncludedAutomate GitHub repository setup with CI/CD workflows, issue templates, Dependabot, and CodeQL security scanning. Includes 12 production-tested workflows and prevents 18 errors: YAML syntax, action pinning, and configuration. Use when: setting up GitHub Actions CI/CD, creating issue/PR templates, enabling Dependabot or CodeQL scanning, deploying to Cloudflare Workers, implementing matrix testing, or troubleshooting YAML indentation, action version pinning, secrets syntax, runner versions, or CodeQL configuration. Keywords: github actions, github workflow, ci/cd, issue templates, pull request templates, dependabot, codeql, security scanning, yaml syntax, github automation, repository setup, workflow templates, github actions matrix, secrets management, branch protection, codeowners, github projects, continuous integration, continuous deployment, workflow syntax error, action version pinning, runner version, github context, yaml indentation error
sf-datacloud
IncludedSalesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase `sf data360` workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching sf-datacloud-* skill), the task is STDM/session tracing/parquet telemetry (use sf-ai-agentforce-observability), standard CRM SOQL (use sf-soql), or Apex implementation (use sf-apex).
fabric-cli
IncludedUse this skill for Fabric.so CLI workflows with the `fabric` terminal command: diagnose/install/login, search or browse a Fabric library, save notes/links/files, create folders, ask the Fabric AI assistant, manage tasks/workspaces, generate shell completion, check subscription usage, produce JSON output, and use Fabric as persistent agent memory. Do not use for Microsoft Fabric/Azure/Power BI `fab`, Daniel Miessler's Fabric framework, Python Fabric SSH, Fabric.js, or textile/fashion fabric.
lark
IncludedLark/Feishu CLI skills: lark-cli operations for docs, markdown, sheets, base, calendar, im, mail, task, okr, drive, wiki, slides, whiteboard, apps, approval, attendance, contact, vc, minutes, event. Use when the user needs to operate Lark/Feishu resources via lark-cli, send messages, manage documents, spreadsheets, calendars, tasks, OKRs, deploy web pages, or any Feishu/Lark workspace operations.