Docker resource limiting is implemented through Cgroups and can be specified when running containers. CPU limits: --cpus (limit CPU cores), --cpuset-cpus (bind to specific CPU cores), --cpu-shares (CPU weight, default 1024). Memory limits: --memory or -m (limit memory usage), --memory-swap (limit memory + swap space), --memory-reservation (soft limit). Disk I/O limits: --device-read-bps (read rate), --device-write-bps (write rate). Use docker stats to view container resource usage. Properly setting resource limits prevents a single container from consuming too many resources and affecting other containers.