Connection Types
Dockhand supports four connection methods for Docker environments:Unix Socket
Local connection via Docker socket (default for local setups)
Direct TCP
Direct HTTP/HTTPS connection to remote Docker daemon
Hawser Standard
HTTP connection with token authentication via Hawser agent
Hawser Edge
WebSocket connection for NAT traversal and edge deployments
Direct TCP Connection
Connect directly to a remote Docker daemon over HTTP or HTTPS.Basic Configuration
- Navigate to Settings > Environments
- Click Add Environment
- Select connection type: Direct
- Configure the connection:
Connection Settings
TLS Configuration
Secure your connection with TLS encryption. The Docker daemon must be configured to expose its API over TLS.Skip TLS verification option is available for testing with self-signed certificates, but not recommended for production.
Mutual TLS (mTLS)
For maximum security, use mutual TLS authentication where both client and server verify each other’s certificates.Configuration
- Follow the TLS configuration steps above
- Ensure
tlsverify: truein the Docker daemon configuration - Provide all three certificates in Dockhand:
- CA certificate (to verify server)
- Client certificate (for client authentication)
- Client key (matching the client certificate)
How mTLS Works
SSH Tunnel Connection
While Dockhand doesn’t have built-in SSH tunneling, you can establish an SSH tunnel separately and connect Dockhand through it.Setup SSH Tunnel
Create SSH tunnel
On your Dockhand host, create an SSH tunnel to forward the Docker port:This forwards local port 2376 to the remote Docker daemon.
Connection Schema
The environment configuration uses the following schema:Troubleshooting
Connection timeout
Connection timeout
- Verify the host and port are correct
- Check firewall rules allow traffic on the Docker port
- Ensure Docker daemon is configured to accept remote connections
- Test connectivity with:
curl https://docker.example.com:2376/_ping
TLS certificate errors
TLS certificate errors
- Ensure certificates are in PEM format
- Verify the CA certificate matches the server certificate
- Check certificate dates (not expired)
- Confirm the CN/SAN in server certificate matches the hostname
- Enable Skip TLS Verification temporarily to isolate the issue
Authentication failed
Authentication failed
- For mTLS, verify all three certificates are provided
- Ensure the client certificate is signed by the same CA
- Check Docker daemon has
tlsverify: truefor mTLS - Review Docker daemon logs for authentication errors
Connection refused
Connection refused
- Verify Docker daemon is listening on the configured port:
- Check Docker daemon configuration in
/etc/docker/daemon.json - Restart Docker daemon after configuration changes:
Security Best Practices
- Always use TLS for remote connections
- Enable mTLS for production environments
- Rotate certificates regularly (every 90 days)
- Use firewall rules to restrict access to Docker ports
- Monitor connection logs for unauthorized access attempts
- Consider Hawser Edge for zero-trust deployments behind NAT
Next Steps
Hawser Agent
Deploy Hawser for secure edge connectivity
Container Registries
Configure private container registries
