mobycraft - docker in 8-bit by aditya gupta
TRANSCRIPT
![Page 1: Mobycraft - Docker in 8-bit by Aditya Gupta](https://reader034.vdocuments.mx/reader034/viewer/2022052706/587458ad1a28abd53e8b916d/html5/thumbnails/1.jpg)
Mobycraft – Docker in 8-bit
Aditya GuptaStudent and Hacker, @aditya_g
![Page 2: Mobycraft - Docker in 8-bit by Aditya Gupta](https://reader034.vdocuments.mx/reader034/viewer/2022052706/587458ad1a28abd53e8b916d/html5/thumbnails/2.jpg)
Before we start…
852
![Page 3: Mobycraft - Docker in 8-bit by Aditya Gupta](https://reader034.vdocuments.mx/reader034/viewer/2022052706/587458ad1a28abd53e8b916d/html5/thumbnails/3.jpg)
• Client-side Docker mod inspired by server-side Dockercraft • Thanks Gaetan and Adrien
• Manage Docker containers visually using Minecraft • Run Docker commands from the game
• Regular commands • Convenience commands
• Add new features that simplify container management • Blocks • Items
• Runs from a Java development environment • Easy to debug, test new features, and contribute
What does it do?
![Page 4: Mobycraft - Docker in 8-bit by Aditya Gupta](https://reader034.vdocuments.mx/reader034/viewer/2022052706/587458ad1a28abd53e8b916d/html5/thumbnails/4.jpg)
• Each container is a 5x5x7 box with two buttons and two signs • Start/stop button • Detailed information button • Name sign • Image sign
• Container look changes based on status • Gray for running, red for stopped
• Container Wand for interacting with containers • Right click on name sign to remove container • Other modes coming soon
• Automatic container building at specified rate
Visualizing Containers
![Page 5: Mobycraft - Docker in 8-bit by Aditya Gupta](https://reader034.vdocuments.mx/reader034/viewer/2022052706/587458ad1a28abd53e8b916d/html5/thumbnails/5.jpg)
• Many common Docker commands • /docker ps • /docker run
• /docker images
• Convenience commands • /docker kill_all • /docker rm_stopped • /docker heat_map
• /docker help for in-game help about commands
Docker commands in Minecraft
![Page 6: Mobycraft - Docker in 8-bit by Aditya Gupta](https://reader034.vdocuments.mx/reader034/viewer/2022052706/587458ad1a28abd53e8b916d/html5/thumbnails/6.jpg)
Fun stuff
Moby the 3D Minecraft whale mascot – custom 3D model and
Netflix’s Chaos Monkey
![Page 7: Mobycraft - Docker in 8-bit by Aditya Gupta](https://reader034.vdocuments.mx/reader034/viewer/2022052706/587458ad1a28abd53e8b916d/html5/thumbnails/7.jpg)
More fun stuff
github.com/AdityaGupta1/mobycraft
![Page 8: Mobycraft - Docker in 8-bit by Aditya Gupta](https://reader034.vdocuments.mx/reader034/viewer/2022052706/587458ad1a28abd53e8b916d/html5/thumbnails/8.jpg)
• Basic Docker terminology • Container – An application packaged so it is easy to download and run • Docker client, host, and hub – Docker CLI (client) uses REST API to talk to the Docker
Machine (host), which gets containers and images from the Docker hub • Docker Machine – A host for containers and the Linux virtual machines they run on • /docker ps – A command that lists the containers on the current Docker machine and
information about them (image, ID, status, etc.) • --help, docs.docker.com, and my dad – Where you go when you need help with Docker • Docker Swarm – A bunch of Docker Machines that share the job of container hosting
What I learned from this project
![Page 9: Mobycraft - Docker in 8-bit by Aditya Gupta](https://reader034.vdocuments.mx/reader034/viewer/2022052706/587458ad1a28abd53e8b916d/html5/thumbnails/9.jpg)
• Some Java skills • Access modifiers – public, private, protected, etc. • continue; and break; statements
• Design patterns • DRY – Don’t Repeat Yourself
• e.g. merge two if statements with the same conditional statement • Shading JARs in Gradle • Asynchronous callbacks
• e.g. StatisticsResultCallback class
What I learned from this project
![Page 10: Mobycraft - Docker in 8-bit by Aditya Gupta](https://reader034.vdocuments.mx/reader034/viewer/2022052706/587458ad1a28abd53e8b916d/html5/thumbnails/10.jpg)
Why is CLI faster than the Java API?
![Page 11: Mobycraft - Docker in 8-bit by Aditya Gupta](https://reader034.vdocuments.mx/reader034/viewer/2022052706/587458ad1a28abd53e8b916d/html5/thumbnails/11.jpg)
• Docker Swarm cluster visualization and management (issue #21) • Waiting for Docker-Java to add Swarm support
• Packaged JAR file for running in release Minecraft (#38) • Only runs well from development environment
• Show containers from a multi-cloud Docker Swarm cluster (#8) • Add more modes to Container Wand (#53) • Use different Docker APIs (#66)
Upcoming features
![Page 12: Mobycraft - Docker in 8-bit by Aditya Gupta](https://reader034.vdocuments.mx/reader034/viewer/2022052706/587458ad1a28abd53e8b916d/html5/thumbnails/12.jpg)
How you can helpAny of the following feedback would be appreciated:
• Code review • Pull requests • Issues • Testing in your environment
• Find bugs and file issues • Contribute new features
GitHub repository: github.com/AdityaGupta1/mobycraft
![Page 13: Mobycraft - Docker in 8-bit by Aditya Gupta](https://reader034.vdocuments.mx/reader034/viewer/2022052706/587458ad1a28abd53e8b916d/html5/thumbnails/13.jpg)
Thank you!