Run in Docker
Prerequisites
- Docker installed (for installation instructions, refer to the Docker official documentation)
- Access to the FeatureMesh Registry
- A target database (Trino, BigQuery, etc.)
Installation Steps
Pull the latest Docker image:
docker pull featuremeshd:head bash
Running FeatureMeshd
Basic Configuration Create a configuration file config.yaml:
listeners:
- name: "main"
protocol: http
address: "0.0.0.0:10080"
routes:
- domain: "localhost"
target:
address: "host.docker.internal:5432" # Your local database
tls: false yaml
Docker Run Command
docker run \
-p 10080:10080 \
-p 10443:10443 \
-p 19901:9901 \
-v $(PWD)/config.yaml:/config.yaml \
featuremeshd:head \
offline \
--endpoint $REGISTRY_ENDPOINT \
--access-token $REGISTRY_TOKEN \
--project-id $PROJECT_ID \
--log-format=plain \
--log-level=info \
--envoy-log-level=info bash
Docker Run Options Explained
- Port Mappings:
-p 10080:10080: Main HTTP proxy port-p 10443:10443: HTTPS port for TLS connections-p 19901:9901: Envoy admin interface
- Volume Mount:
-v $(PWD)/config.yaml:/config.yaml: Mounts your local config file
- Runtime Options:
offline: Runs in offline mode--endpoint: Registry endpoint--access-token: Authentication token--project-id: Project identifier--log-format: Output format for logs--log-level: Logging verbosity--envoy-log-level: Envoy proxy logging level
Verification Test the proxy connection:
# Test with verbose output to see the proxy connection details
curl -vvv -x localhost:10443 localhost:10080/target bash
Common Issues and Troubleshooting
- Check container status:
docker psbash - View logs:
docker logs <container_id>bash - Common problems:
- Registry connection failures: Check token and endpoint
- Database connectivity: Verify target address
- Port conflicts: Ensure required ports are available