A Web-Based Docker Image Assistant Generation Tool for User-PC Computing System
Abstract
:1. Introduction
2. Related Works
2.1. Investigating Effective Methods for Analyzing and Improving Docker File and Image Creation
2.2. Exploring Testing and Implementation Strategies for Sample Tools, Programming Languages, and Software Architecture
3. User-PC Computing System (UPC)
4. Software Architecture and Implementation
4.1. Usage of the Software
4.2. Specific Features and Functionality
Listing 1. Custom function. |
|
4.3. User Experience (UX) Issue
4.4. Client-Side Implementation
4.5. Server-Side Implementation
4.6. Database Implementation
4.7. System Operations
5. Source Code Modification Capability
6. Evaluation
Listing 2. Docker file example. |
|
7. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Htet, H.; Funabiki, N.; Kamoyedji, A.; Kuribayashi, M.; Akhter, F.; Kao, W.C. An implementation of user-PC computing system using Docker container. Int. J. Future Comput. Commun. 2022, 9, 66–73. [Google Scholar] [CrossRef]
- Docker. Available online: https://docs.docker.com/get-docker/ (accessed on 27 December 2022).
- Docker Image. Available online: https://hub.docker.com/-/docker (accessed on 28 December 2022).
- Dockerfile. Available online: https://docs.docker.com/engine/reference/builder/ (accessed on 27 December 2022).
- Tar File—WinZip. Available online: https://www.winzip.com/en/learn/file-formats/tar (accessed on 28 December 2022).
- Docker Save. Available online: https://docs.docker.com/engine/reference/commandline/save/ (accessed on 27 December 2022).
- Graphical User Interface. Available online: https://en.wikipedia.org/wiki/Graphical-user-interface (accessed on 28 December 2022).
- Web Browser. Available online: https://en.wikipedia.org/wiki/Web-browser (accessed on 28 December 2022).
- Angular. Available online: https://angular.io/ (accessed on 27 December 2022).
- Laravel. Available online: https://laravel.com/ (accessed on 27 December 2022).
- PHP. Available online: https://www.php.net/ (accessed on 27 December 2022).
- Client Side and Server Side. Available online: https://www.cloudflare.com/learning/serverless/glossary/client-side-vs-server-side/ (accessed on 28 December 2022).
- RestAPI. Available online: https://www.ibm.com/cloud/learn/rest-apis (accessed on 27 December 2022).
- MySQL. Available online: https://dev.mysql.com/ (accessed on 27 December 2022).
- DockerHub. Available online: https://hub.docker.com/signup/ (accessed on 27 December 2022).
- Shell Scripting Tutorial. Available online: https://www.shellscript.sh/ (accessed on 27 December 2022).
- Kitajima, S.; Sekiguchi, A. Latest image recommendation method for automatic base image update in dockerfile. In Proceedings of the 18th International Conference on Service-Oriented Computing (ICSOC), Dubai, United Arab Emirates, 14–17 December 2020; pp. 547–562. [Google Scholar] [CrossRef]
- Yin, K.; Chen, W.; Zhou, J.; Wu, G.; Wei, J. Star: A specialized tagging approach for Docker repositories. In Proceedings of the 25th Asia-Pacific Software Engineering Conference (APSEC), Nara, Japan, 4–7 December 2018; pp. 426–435. [Google Scholar] [CrossRef]
- Hassan, F.; Rodriguez, R.; Wang, X. Rudsea: Recommending updates of Dockerfiles via software environment analysis. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering (ASE), Montpellier, France, 3–7 September 2018; pp. 796–801. [Google Scholar] [CrossRef]
- Huang, Z.; Wu, S.; Jiang, S.; Jin, H. FastBuild: Accelerating docker image building for efficient development and deployment of container. In Proceedings of the 35th Symposium on Mass Storage Systems and Technologies (MSST), Santa Clara, CA, USA, 20–24 May 2019; pp. 28–37. [Google Scholar] [CrossRef]
- Schermann, G.; Zumberi, S.; Cito, J. Structured information on state and evolution of dockerfiles on github. In Proceedings of the 15th International Conference on Mining Software Repositories, Gothenburg, Sweden, 28–29 May 2018; pp. 26–29. [Google Scholar] [CrossRef]
- Nüst, D.; Sochat, V.; Marwick, B.; Eglen, S.J.; Head, T.; Hirst, T.; Evans, B.D. Ten simple rules for writing Dockerfiles for reproducible data science. PLoS Comput. Biol. 2020, 16, e1008316. [Google Scholar] [CrossRef] [PubMed]
- Zhong, S.; Wang, D.; Li, W.; Lu, F.; Jin, H. Burner: Recipe automatic generation for HPC container based on domain knowledge graph. Wirel. Commun. Mob. Comput. 2022, 16, 4592428. [Google Scholar] [CrossRef]
- Lu, Z.; Xu, J.; Wu, Y.; Wang, T.; Huang, T. An empirical case study on the temporary file smell in Dockerfiles. IEEE Access 2019, 7, 63650–63659. [Google Scholar] [CrossRef]
- Zou, W.; Zhang, W.; Xia, X.; Holmes, R.; Chen, Z. Branch Use in Practice: A large-scale empirical study of 2,923 projects on GitHub. In Proceedings of the IEEE 19th International Conference on Software Quality, Reliability and Security (QRS), Sofia, Bulgaria, 22–26 July 2019; pp. 306–317. [Google Scholar] [CrossRef]
- Wu, Y.; Zhang, Y.; Wang, T.; Wang, H. Characterizing the occurrence of dockerfile smells in open-source software: An empirical study. IEEE Acces 2020, 8, 34127–34139. [Google Scholar] [CrossRef]
- Xu, J.; Wu, Y.; Lu, Z.; Wang, T. Dockerfile TF smell detection based on dynamic and static analysis methods. In Proceedings of the IEEE 43rd Annual Computer Software and Applications Conference (COMPSAC), Milwaukee, WI, USA, 15–19 July 2019; pp. 185–190. [Google Scholar] [CrossRef]
- Zhang, Y.; Yin, G.; Wang, T.; Yu, Y.; Wang, H. An insight into the impact of dockerfile evolutionary trajectories on quality and latency. In Proceedings of the IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC), Tokyo, Japan, 23–27 July 2018; pp. 138–143. [Google Scholar] [CrossRef]
- Zhou, J.; Chen, W.; Wu, G.; Wei, J. Semitagrec. A semi-supervised learning based tag recommendation approach for docker repositories. In Proceedings of the 18th International Conference on Software and Systems Reuse (ICSR), Cincinnati, OH, USA, 26–28 June 2019; pp. 132–148. [Google Scholar] [CrossRef]
- Wu, Y.; Zhang, Y.; Wang, T.; Wang, H. Dockerfile changes in practice: A large-scale empirical study of 4,110 projects on github. In Proceedings of the 27th Asia-Pacific Software Engineering Conference (APSEC), Singapore, 1–4 December 2020; pp. 247–256. [Google Scholar] [CrossRef]
- Kuflewski, K.; Dzieńkowski, M. Symfony and Laravel—A comparative analysis of PHP programming frameworks. J. Comput. Sci. Inst. 2021, 21, 367–372. [Google Scholar] [CrossRef]
- Horton, E.; Parnin, C. Dockerizeme: Automatic inference of environment dependencies for Python code snippets. In Proceedings of the 41st International Conference on Software Engineering (ICSE), Montreal, QC, Canada, 25–31 May 2019; pp. 328–338. [Google Scholar] [CrossRef]
- Forde, J.; Head, T.; Holdgraf, C.; Panda, Y.; Nalvarete, G.; Ragan-Kelley, B.; Sundell, E. Reproducible research environments with Repo2Docker. In Proceedings of the RML Workshop—Reproducibility in Machine Learning (ICML), Stockholm, Sweden, 15 July 2018; pp. 1–5. [Google Scholar]
- Sunardi, A.; Suharjito. MVC Architecture: A comparative study between Laravel framework and Slim framework in freelancer project monitoring system web based. Procedia Comput. Sci. 2019, 157, 134–141. [Google Scholar] [CrossRef]
- Wodyk, R.; Skublewska-Paszkowska, M. Performance comparison of relational databases SQL Server, MySQL and PostgreSQL using a web application and the Laravel framework. J. Comput. Sci. Inst. 2020, 17, 358–364. [Google Scholar] [CrossRef]
- Best Practices for Writing Dockerfiles. Available online: https://docs.docker.com/develop/develop-images/dockerfile-best-practices/ (accessed on 27 December 2022).
- PrimeNG. Available online: https://www.primefaces.org/primeng/ (accessed on 27 December 2022).
- CSS. Available online: https://developer.mozilla.org/en-US/docs/Web/CSS (accessed on 28 December 2022).
- TypeScript. Available online: https://www.typescriptlang.org/ (accessed on 27 December 2022).
- AngularCLI. Available online: https://angular.io/cli (accessed on 27 December 2022).
- HTTP: Hypertext Transfer Protocol. Available online: https://en.wikipedia.org/wiki/Hypertext-Transfer-Protocol (accessed on 28 December 2022).
- MySQL Database Service Guide. Available online: https://docs.oracle.com/en-us/iaas/mysql-database/doc/getting-started-mysql-database-service.html (accessed on 27 December 2022).
- Node.js. Available online: https://nodejs.org/en/ (accessed on 27 December 2022).
- NVM-SH/NVM: Node Version Manager. Available online: https://github.com/nvm-sh/nvm (accessed on 27 December 2022).
- Package.json. Available online: https://docs.npmjs.com/cli/v9/configuring-npm/package-json (accessed on 27 December 2022).
- NPM Docs. Available online: https://docs.npmjs.com/ (accessed on 27 December 2022).
- Laradock. Available online: https://laradock.io/ (accessed on 27 December 2022).
- Composer. Available online: https://getcomposer.org/download/ (accessed on 27 December 2022).
- HTML: Hypertext Markup Language. Available online: https://developer.mozilla.org/en-US/docs/Web/HTML (accessed on 28 December 2022).
No. | Project Name | CPU Time | Size of Docker Image |
---|---|---|---|
1. | CFD-OpenFOAM | 00:00:07 | 1.2 GB |
2. | CNN | 00:00:04 | 450 MB |
3. | Palabos | 00:00:04 | 77.8 MB |
4. | DMTCP | 00:00:05 | 131 MB |
5. | Openpose-GPU | 00:00:03 | 3.38 GB |
6. | NS-3 Simulator | 00:00:17 | 3.66 GB |
7. | NPLAS | 00:00:06 | 578 MB |
8. | Flask | 00:00:03 | 76 MB |
9. | Django | 00:00:05 | 436 MB |
10. | JavaJDK | 00:00:03 | 464 MB |
11. | Nodejs | 00:00:11 | 1.25 GB |
12. | OpenPose | 00:00:18 | 4.09 GB |
13. | MongoDB | 00:00:06 | 695 MB |
14. | GCC | 00:00:03 | 1.92 GB |
15. | RubyOnRails | 00:00:12 | 174 MB |
16. | Golang | 00:00:07 | 302 MB |
17. | PostgreSQL | 00:00:04 | 377 MB |
18. | ReactNative | 00:00:19 | 2.6 GB |
19. | Flutter | 00:00:15 | 2.2 GB |
20. | Nginx | 00:00:04 | 142 MB |
21. | Laravel | 00:00:07 | 726 MB |
22. | VueJs | 00:00:08 | 535 MB |
23. | Ruby | 00:00:12 | 174 MB |
24. | Apache | 00:00:05 | 143 MB |
25. | AngularJs | 00:00:04 | 133 MB |
26. | ASP.Net | 00:00:03 | 122 MB |
27. | CakePHP | 00:00:05 | 145 MB |
28. | Svelte | 00:00:07 | 709 MB |
29. | SpringBoot | 00:00:04 | 146 MB |
30. | Tornado | 00:00:03 | 112 MB |
31. | Q_value_Tw_surround_342_h_surround_3 | 00:00:12 | 165 MB |
32. | Q_value_Tw_surround_342_h_surround_6 | 00:00:12 | 165 MB |
33. | Q_value_Tw_surround_342_h_surround_7 | 00:00:12 | 165 MB |
34. | Q_value_Tw_surround_342_h_surround_9 | 00:00:12 | 165 MB |
35. | Q_value_Tw_surround_342_h_surround_10 | 00:00:12 | 165 MB |
36. | Q_value_Tw_surround_342_h_surround_12 | 00:00:14 | 175 MB |
37. | Q_value_Tw_surround_342_h_surround_17 | 00:00:13 | 155 MB |
38. | Q_value_Tw_surround_342_h_surround_24 | 00:00:13 | 155 MB |
39. | Q_value_Tw_surround_342_h_surround_26 | 00:00:13 | 155 MB |
40. | Q_value_Tw_surround_342_h_surround_28 | 00:00:13 | 155 MB |
No. | File Name | Size |
---|---|---|
1. | gunji-olsr-randam.cc | 10 KB |
2. | modulegen–gcc–ILP32.py | 531 KB |
3. | modulegen–gcc-ILP32.py | 531 KB |
4. | call-back-list.py | 2kB |
5. | simple-point-to-point-olsr.cc | 6 KB |
6. | olsr-hna.cc | 10 KB |
7. | olsr-helper.cc | 4 KB |
8. | olsr-state.cc | 16 KB |
9. | olsr-state.h | 14 KB |
10. | olsr-routing-protocol-test-suite.cc | 7 KB |
No. | Project Name | Tag Version | CPU TIME |
---|---|---|---|
1. | NS3-OLSR-Gunji | v1 | 00:00:17 |
2. | NS3-Kokubun | v1.1 | 00:00:18 |
3. | NS3-DSR-Gunji | v1.2 | 00:00:19 |
4. | NS3-DSDV | v1.3 | 00:00:16 |
5. | NS3-AODV | v1.4 | 00:00:20 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Aung, L.H.; Funabiki, N.; Aung, S.T.; Zhou, X.; Xiang, X.; Kao, W.-C. A Web-Based Docker Image Assistant Generation Tool for User-PC Computing System. Information 2023, 14, 300. https://doi.org/10.3390/info14060300
Aung LH, Funabiki N, Aung ST, Zhou X, Xiang X, Kao W-C. A Web-Based Docker Image Assistant Generation Tool for User-PC Computing System. Information. 2023; 14(6):300. https://doi.org/10.3390/info14060300
Chicago/Turabian StyleAung, Lynn Htet, Nobuo Funabiki, Soe Thandar Aung, Xudong Zhou, Xu Xiang, and Wen-Chung Kao. 2023. "A Web-Based Docker Image Assistant Generation Tool for User-PC Computing System" Information 14, no. 6: 300. https://doi.org/10.3390/info14060300
APA StyleAung, L. H., Funabiki, N., Aung, S. T., Zhou, X., Xiang, X., & Kao, W. -C. (2023). A Web-Based Docker Image Assistant Generation Tool for User-PC Computing System. Information, 14(6), 300. https://doi.org/10.3390/info14060300