Securing Docker Containers: Best Practices and Common Pitfalls