I always enjoy sharing tools that save me and my fellow technology professionals time. As I prepared for a Minecraft coding workshop at our local maker space, I decided to learn more about Docker on a Google Cloud VM. In the world of virtual machines, I find it very helpful to configure VM machines with known baselines of software frameworks, operating system configurations, tools and data. Once you have a configuration that you like, you can save instances of the virtual machine to share with other team members or friends. Docker seems to offer a lightweight way to share an operating system, software configuration, and data as a container. It’s worth checking out for work or play.
- CanaryMod – a highly configurable Minecraft server
- ScriptCraft plugin
In my case, plan to host these services on a local network, Google Cloud or Microsoft Azure on Ubuntu 14LTS. The install process on Google Cloud and Azure virtual machines is very fast. Using the documentation on Docker’s website, I’ve learned to customize the Docker container files to add additional web services I’ve written to support my class.
Here’s the major steps to install the ScriptCraft server.
- Install Ubuntu 14LTS
- Install Docker.
- Run the following to build and launch the container
- docker run -p 25565:25565 -p 22:22 -it tclavier/scriptcraft
- Open up ports 25565 so that Minecraft 1.8 PC clients can make a connection.
You can edit and control this container using details shared here:
Docker took time to learn and understand. I, however, think the investment in learning about Docker containers will pay off in the long term. (I still have much to learn.) The technology does a great job capturing the detailed experience of building different types of open source tools. I’m looking forward to thinking about different open source tools as big “lego blocks” that can be composed together. Docker does a great job of streamlining install processes. In most cases, I’m not excited about reading and doing long step by step processes.
I’ve already used docker to install some Deep Neural Network machine learning tools. I also plan to check out the containers related to Robotics operating system. For web developers, make sure to check out hub.docker.com. This repository of Docker containers seems to contain the big open source players used in web development. (wordpress, apache/mysql/php, nodejs, ruby, flask, etc. )