journal article·2024-07-31Open access

Docker Performance Evaluation across Operating Systems

Maciej Sobieraj, Daniel Kotyński

Applied Sciences· Volume 14· Issue 15

Abstract

Docker has gained significant popularity in recent years. With the introduction of Docker Desktop for Windows and macOS, there is a need to determine the impact of the operating system on the performance of the Docker platform. This paper aims to investigate the performance of Docker containers based on the operating system. One of the fundamental goals of this study is to conduct a comprehensive analysis of the Docker architecture. This technology utilizes Linux kernel virtualization mechanisms such as namespaces and cgroups. Upon analyzing the distribution of Docker Desktop for Windows and Docker Desktop for macOS, it was discovered that running the Docker environment on these requires a lightweight virtual machine that emulates the Linux system. This information suggests that the additional virtualization layer may hinder the performance of non-Linux operating systems hosting Docker containers. The paper presents a performance test of the Docker runtime on Linux, Microsoft Windows, and macOS. The test evaluated specific aspects of operating system performance on a MacBook computer with an ×86/64 processor architecture. The experiment carried out examined the performance in terms of CPU speed, I/O speed, and network throughput. This test measured the efficiency of software that utilizes various system resources.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Cloud Computing and Resource Management · IoT and Edge/Fog Computing · Distributed and Parallel Computing Systems

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Institute of Communication and Computer Networks, Faculty of Computing and Telecommunications, Poznan University of Technology, ul. Polanka 3, 60-965 Poznań, Poland

Funding

Polish Ministry of Science and Higher Education

References (38)

Show source-provided references
1. (2024, May 28). Docker Home Page. Available online: https://www.docker.com.
2. (2024, May 28). Stackoverflow.com Developers Survey 2022. Available online: https://survey.stackoverflow.co/2022/.
3. Gholami, S., Khazaei, H., and Bezemer, C.P. (2021, January 25–28). Should you Upgrade Official Docker Hub Images in Production Environments?. Proceedings of the 2021 IEEE/ACM 43rd International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER), Madrid, Spain.10.1109/ICSE-NIER52604.2021.00029 ↗
4. (2024, May 28). Best OS for Docker: Deciding Factors for Choosing Docker Host OS. Available online: https://www.knowledgehut.com/blog/devops/best-os-for-docker.
5. Sergeev, A., Rezedinova, E., and Khakhina, A. (2022, January 24–26). Docker Container Performance Comparison on Windows and Linux Operating Systems. Proceedings of the 2022 International Conference on Communications, Information, Electronic and Energy Systems (CIEES), Veliko Tarnovo, Bulgaria.10.1109/CIEES55704.2022.9990683 ↗
6. Kithulwatta, W.M.C.J.T., Jayasena, K.P.N., Kumara, B.T.G.S., and Rathnayaka, R.M.K.T. (2022, January 27–29). Performance Evaluation of Docker-Based Apache and Nginx Web Server. Proceedings of the 2022 3rd International Conference for Emerging Technology (INCET), Belgaum, India.10.1109/INCET54531.2022.9824303 ↗
7. Lingayat, A., Badre, R.R., and Kumar Gupta, A. (2018, January 15–16). Performance Evaluation for Deploying Docker Containers on Baremetal and Virtual Machine. Proceedings of the 2018 3rd International Conference on Communication and Electronics Systems (ICCES), Coimbatore, India.10.1109/CESYS.2018.8723998 ↗
8. Performance Comparison Between Virtual Machines and Docker Containers10.1109/TLA.2018.8528247 ↗
9. Xu, P., Shi, S., and Chu, X. (2017, January 10–11). Performance Evaluation of Deep Learning Tools in Docker Containers. Proceedings of the 2017 3rd International Conference on Big Data Computing and Communications (BIGCOM), Chengdu, China.10.1109/BIGCOM.2017.32 ↗
10. Large-Scale Analysis of Docker Images and Performance Implications for Container Storage Systems10.1109/TPDS.2020.3034517 ↗
11. Dordević, B., Timčenko, V., Lazić, M., and Davidović, N. (2022, January 16). Performance comparison of Docker and Podman container-based virtualization. Proceedings of the 2022 21st International Symposium INFOTEH-JAHORINA (INFOTEH), East Sarajevo, Bosnia and Herzegovina.10.1109/INFOTEH53737.2022.9751277 ↗
12. Sun, Y., Safford, D., Zohar, M., Pendarakis, D., Gu, Z., and Jaeger, T. (2018, January 15–17). Security Namespace: Making Linux Security Frameworks Available to Containers. Proceedings of the 27th USENIX Security Symposium (USENIX Security 18), Baltimore, MD, USA.
13. Stan, I.M., Rosner, D., and Ciocirlan, S.D. (2020, January 11–12). Enforce a Global Security Policy for User Access to Clustered Container Systems via User Namespace Sharing. Proceedings of the 2020 19th RoEduNet Conference: Networking in Education and Research (RoEduNet), Bucharest, Romania.10.1109/RoEduNet51892.2020.9324866 ↗
14. (2024, May 29). Unshare-Linux Manual Page. Available online: https://man7.org/linux/man-pages/man1/unshare.1.html.
15. (2024, May 29). The Linux Process Journey—PID 1 (Init). Available online: https://medium.com/@boutnaru/the-linux-process-journey-pid-1-init-60765a069f17.
16. (2024, May 29). Docker Run Reference. Available online: https://docs.docker.com/engine/reference/run/#foreground.
17. Biradar, S.M., Shekhar, R., and Reddy, A.P. (2018, January 14–15). Build Minimal Docker Container Using Golang. Proceedings of the 2018 Second International Conference on Intelligent Computing and Control Systems (ICICCS), Madurai, India.10.1109/ICCONS.2018.8663172 ↗
18. (2024, May 29). PS- Linux Manual Page. Available online: https://man7.org/linux/man-pages/man1/ps.1.html.
19. Nickoloff, J., and Kuenzli, S. (2019). Docker in Action, Manning. [2nd ed.].
20. (2024, May 29). Mount Namespaces-Linux Manual Page. Available online: https://man7.org/linux/man-pages/man7/mount_namespaces.7.html.
21. Yang, T., Luo, Z., Shen, Z., Zhong, Y., and Huang, X. (2019, January 23–25). Docker’s Security Analysis of Using Control Group to Enhance Container Resistance to Pressure. Proceedings of the 2019 10th International Conference on Information Technology in Medicine and Education (ITME), Qingdao, China.10.1109/ITME.2019.00151 ↗
22. (2024, May 29). Runtime Options with Memory, CPUs, and GPUs. Available online: https://docs.docker.com/config/containers/resource_constraints/.
23. Gorman, M. (2004). Understanding the Linux Virtual Memory Manager, Prentice Hall PTR.
24. Petazzoni, J. (2015). Cgroups, Namespaces and beyond: What Are Containers Made from?, Docker.
25. (2024, May 29). What Is WSL?. Available online: https://learn.microsoft.com/en-gb/training/modules/wsl-introduction/what-is-wsl.
26. (2024, June 02). Windows 11 WSL2 Performance Is Quite Competitive Against Ubuntu 20.04 LTS/Ubuntu 21.10. Available online: https://www.phoronix.com/review/windows11-wsl2-good.
27. (2024, June 02). VPNkit Source Code Repository. Available online: https://github.com/moby/vpnkit.
28. (2024, June 02). Under the Hood: Demystifying Docker Desktop for Mac. Available online: https://collabnix.com/how-docker-for-mac-works-under-the-hood/.
29. (2024, June 02). Software License Agreement for macOS Ventura. Available online: https://www.apple.com/legal/sla/docs/macOSVentura.pdf.
30. (2024, June 02). Arm-Based PCs to Nearly Double Market Share by 2027. Available online: https://www.counterpointresearch.com/arm-based-pcs-to-nearly-double-market-share-by-2027/.
31. Sladović, D., Topolčić, D., and Delija, D. (October, January 28). Overview of Mac system security and its impact on digital forensics process. Proceedings of the 2020 43rd International Convention on Information, Communication and Electronic Technology (MIPRO), Opatija, Croatia.10.23919/MIPRO48935.2020.9245397 ↗
32. (2024, June 02). T2 Ubuntu Repository. Available online: https://github.com/t2linux/T2-Ubuntu.
33. (2024, June 02). Install Windows 10 on Your Mac with Boot Camp Assistant. Available online: https://support.apple.com/en-asia/HT201468.
34. (2024, June 02). Advanced Settings Configuration in WSL. Available online: https://learn.microsoft.com/en-us/windows/wsl/wsl-config#configure-global-options-with-wslconfig.
35. Kovács, A. (2017, January 5–7). Comparison of different Linux containers. Proceedings of the 2017 40th International Conference on Telecommunications and Signal Processing (TSP), Barcelona, Spain.10.1109/TSP.2017.8075934 ↗
36. (2024, June 02). Benchmarking MySQL 5.7 Using Sysbench 1.1. Available online: https://minervadb.com/index.php/2018/03/13/benchmarking-mysql-using-sysbench-1-1/.
37. (2024, June 02). Hackintosh-Project Site. Available online: https://hackintosh.com/.
38. (2024, June 02). Docker Documentation: Known Issues for Mac with Apple Silicon. Available online: https://docs.docker.com/desktop/troubleshoot/known-issues/.