Docker container service discovery mechanism is used to dynamically discover and connect containerized services. Implementation methods: 1) Docker built-in DNS: containers resolve each other by container name; 2) environment variable injection: Docker injects information about linked containers into environment variables; 3) third-party service discovery tools: Consul, Etcd, Zookeeper; 4) Kubernetes Service: provide service discovery through Service objects; 5) service mesh: Istio, Linkerd provide advanced service discovery functionality. Load balancing: Docker Swarm has built-in load balancing, Kubernetes uses Service and Ingress. Best practices: use service registry, implement health checks, support dynamic updates, configure timeouts and retries.