In cybersecurity courses, it is quite challenging to do hands-on activities that involve many components of the Internet, such as bringing down the Internet, attacking a blockchain, etc. To solve this problem, we have developed an open-source Internet Emulator, which is a Python library, consisting of the classes for each essential element of the Internet, including autonomous system, network, host, router, BGP router, Internet exchange, etc. It also includes the classes for a variety of services, including Web server, DNS, Botnet, Darknet, Blockchain, and more are being developed. Using these classes, users can construct a mini-Internet to emulate the real-world Internet. Although it is small, it has all the essential elements of the real Internet. The construction is compiled into Docker container files, and the emulation is executed by Docker on a single machine, or on multiple cloud machines.