Microservice architecture offers many advantages over monolithic application design, but at the same time presents challenges, not present in traditional architectures. One of the challenges is handling dynamic allocation of microservice addresses. Modern applications, built in microservice arhitecture typically run in containerized environments, which enable simple deployment and horizontal scaling of microservices. Containerized environments usually allocate microservice addresses dynamically, as this simplifies the scaling process. Problem arises when communication between microservices is required. Since addresses of microservices are allocated when microservices are deployed, dynamic discovery of microservice addresses during runtime is required. In our thesis, we discuss the importance of service discovery in microservice architectures. We design and develop a system, which enables simple service registration and discovery in the KumuluzEE framework. We demonstrate the usage of the developed solution through a reference application. Dynamic service discovery enables the usage of dynamic address allocation in microservices, which alleviates their integration with modern cloud environments.