
Dockercraft: Manage Docker containers from Minecraft - shykes
https://github.com/docker/dockercraft
======
randall
Do you realize what you've actually built? A way for people to "hack" by
flying through 3d space into computer bricks representing server apps.

90s Hollywood thanks you.

~~~
jandrese
You're too late.

[https://www.cs.unm.edu/~dlchao/flake/doom/](https://www.cs.unm.edu/~dlchao/flake/doom/)

~~~
aphrax
"Certain processes are vital to the computer's operation and should not be
killed. For example, after I took the screenshot of myself being attacked by
csh, csh was shot by friendly fire from behind, possibly by tcsh or xv, and my
session was abruptly terminated." Fantastic!

------
55555
This is actually really cool. The concept of Memory Palaces is borne out of
the fact that our brains are way better at remembering geographical
information than arbitrary information. If you are managing a lot of servers
or whatever you'd actually have a much easier time using something like this.

When someone forgets which box you are talking about: "You know, that server
out by the river."

Or imagine flyig above all of your servers and seeing how they are all
interlinked and how the scale of your operation has grown over time.

This is way ahead of its time but there's definitely something here.

~~~
nchelluri
it might be cool to represent the physical datacenter in something like this.

------
voltagex_
This is probably offtopic, but the state of Minecraft modding is really bad

* One dude is maintaining Forge/MinecraftCodersPack/Fernflower, which powers pretty much every mod

* Ad-infested forums and adfly links are the preferred way of distributing mods

* The last moddable client version is 1.8.0, 1.9 is out.

* Getting a mod started is really difficult, and it's not clear what should/shouldn't be in source control.

Props to the author for finding a way around all of this.

~~~
verusfossa
This is true. MeddleAPI[1] is the new hotness as it allows mods to be version-
agnostic, however it's still early and there's little documentation. Mojang
has been talking about potentially releasing some kit for modding for years,
but with the C++ based "Minecraft Windows 10 Edition" out, I see little chance
of that happening now.

I'm glad to see this though. I have been working on a file editor for
minecraft[2] that might eventually work for keeping copies of docker logs,
editing code or some such. Advanced VIM functions are not on my docket
however. Baby steps.

Maybe more modders will move to mineTest if Microsoft/Mojang continues to
sidestep the Minecraft modding community.

[1] [http://www.minecraftforum.net/forums/mapping-and-
modding/min...](http://www.minecraftforum.net/forums/mapping-and-
modding/minecraft-mods/2488387-meddle-minecraft-tweakclass-mod-loader-1-9)

[2] [http://www.minecraftforum.net/forums/mapping-and-
modding/min...](http://www.minecraftforum.net/forums/mapping-and-
modding/minecraft-mods/wip-mods/2532979-bookwyrm-a-better-in-game-book-editor)

~~~
zamalek
Microsoft seems to be taking it far more seriously with the release of the
Minecraft modding tools for Visual Studio[1].

[1]:
[https://visualstudiogallery.msdn.microsoft.com/043ab247-8771...](https://visualstudiogallery.msdn.microsoft.com/043ab247-8771-4bb1-92af-d76e542724ad)

~~~
verusfossa
I had not seen this. It's not Microsoft throwing developers on maintaining
Forge though or some official API, just a few templates. Seems to me more like
a push to promote VS than Minecraft modding. Maybe a sign of good things to
come.

------
voltagex_
[https://github.com/docker/dockercraft/issues/3](https://github.com/docker/dockercraft/issues/3)
is a wonderful bug report.

~~~
aduermael
Oh yes! It was so funny to read that one! :D We should start listing hilarious
bug reports, I sure we're going to get quite a bunch.

~~~
pookeh
"My web server died when I ran into the wall"

"Not enough bricks to establish connection to db container"

"Firewall daemon in container shuts off at night then comes back on
automatically at day"

...yea

------
Kapura
This is the future of computing, and I mean that without any irony whatsoever.
Simulating physical spaces as a metaphor for complex systems is incredibly
powerful. I expect to see much more of this in the coming decade, especially
once VR starts hitting its stride.

~~~
bottled_poe
I doubt it. I only want to see relevant information on my UI. How is a 3D
spatial representation relevant to the daily tasks of a sysadmin? The
relationship between these two information spaces seems tenuous to me.

~~~
cakeface
It's about mapping inputs into a mental picture of what reality is. I am quite
good at looking at various diagnostics and reporting available to me and
figuring out what is going on. I can look at my New Relic server graphs over
time, ps, df, du, free, and others to arrive at a conclusion for what is
happening. Someone untrained would not come to the same conclusion as me.

Now, if my network were a castle and bad packets or DDoS attacks looked like
Catapults and flaming arrows. It would be very obvious to someone viewing that
scene that we are at war and possibly losing. If my walls were huge and the
arrows few you would not worry. If my walls were low and small and the arrows
many you would realize we are losing. This is an image that can be looked at
and understood almost universally, without the need for years of training on
what the debug logs in a firewall look like.

------
wisdomdata
If I was microsoft, I would overhaul minecraft mods and make it possible to
write them in c# (maybe with a bridge or something). Get kids into your stack
and fix an existing pain point.

~~~
stephengillie
Were I Microsoft, I'd immediately containerize a Minecraft server.

~~~
NetStrikeForce
It has been done multiple times, by several people. Just run a search on
GitHub :)

Usually you would install java, download the latest server jar and just start
it. I was working on a set of scripts to launch multiple containers on the
same host and keep track of the ports exposed, but I've only spent a couple of
hours on it and jumped to something else
[https://github.com/pjperez/Multicraft](https://github.com/pjperez/Multicraft)

I've also added a poor man's queue system using Azure Storage :)

Forgive my poor coding; I'm not a developer and only do these things as a
hobby.

------
rgbrgb
Prior work: [http://psdoom.sourceforge.net/](http://psdoom.sourceforge.net/)
:)

~~~
cakes
With enough games and enough time we could have a real interesting set of
game-based tooling :)

~~~
cauterize
Or a really great way to learn someone's distributed architecture. How fun
would it be to explore around in 3D and seeing the data flow in various ways.

------
alpb
This was pretty cool. I think folks really need to watch the demo in the
closing video when it gets published. I think the most catchy sentence in the
demo was “you can finally show your kids what is this containers thing you are
working on”. :)

------
Animats
Can you implement fallover on failure by hooking up the torch on one block to
the switch on another using redstone?

------
khoury
Mind = blown. Why not visualize code like this? Walking around in your API,
watching the flow of data... :)

~~~
justinhj
Or manage processes?
[http://psdoom.sourceforge.net/](http://psdoom.sourceforge.net/)

------
alexc05
I hope this one works better than kitematic! I'm really excited by the
implications of docker, but the practicality of using it on windows has proved
to be troublesome.

It is very difficult to get docker containers running locally (at least using
the gui tools)

I know that MS believes in it wholesale so am really looking forward to the
day when the tools catch up to their promises.

So far I've been bashing my head against the wall whenever I've gotten past
"tutorial phase 1"

Getting a webhost, database, memcached, rabbitmq, load balancer etc... All
talking to each other on a local 'dev' system... theoretically a perfect
mirror of the thing that will be the super scalable production system.

Difficult.

I'm undoubtedly doing stuff wrong, but if there are any docker wizards out
there, please point me to your blogs! I'm dying to finally wrap my head around
the promises of scalable containerization.

EDIT: I just watched their youtube video. This interface is honestly amazing.
To be able to arrange virtual machines in 3d space. What a phenomenal tool.
This will _really_ help me learn how to use docker effectively.

~~~
smegel
Kubernetes. Specifically, running kubelet locally is a great way to bring up a
"pod" of just the containers you want, configured the way you want. It's
actually pretty conveniant, and as dev I have started preferring it as a way
of quickly bringing up new things to test on my dev machine. And Kubernetes
was designed to scale...you should be able to take your local config file and
make it part of the broader client/server based Kubernetes setup...and it will
bring your containers up across a cluster of servers.

~~~
alexc05
Thanks for the lead! I'll look this up today.

------
milesf
This will hopefully inspire others to see "boring" applications in a new way.
I've always wanted a double-entry bookkeeping system inside of a game engine.

Internet, please make it happen.

------
yuribit
Dude, if you really wanna see containers use Sysdig: [https://sysdig.com/wp-
content/uploads/2015/07/screen-dynamic...](https://sysdig.com/wp-
content/uploads/2015/07/screen-dynamic-topology-full.gif)

~~~
jdoliner
I'm going to go out on a limb here and guess that that this fills a slightly
different need than Sysdig. Sysdig is amazing though.

------
runawaybottle
Conceptually, this is way ahead of its time.

~~~
oliyoung
ahead? This 3d representation of computer operations has been a staple of
“hacker” movie art direction since the 80's. Tron, WarGames, Jurassic Park.

~~~
politician
But this actually works.

------
BatFastard
People have implemented real time process visualisation in SecondLife.Plus
tons of other things like that years ago. Doing it in MC is possible, but
clunky.

------
IIAOPSW
can you use some sort of redstone contraption to interact with the containers?

~~~
aduermael
Maybe that would be a good way to do scripting within the game... :)

~~~
stephengillie
Imagine a skyscraper, each floor is a forest of docker cubes. Now imagine a
massive Redstone engine managing them, not unlike one of the Minecraft GPUs.

------
vitalus
Seem like there's great potential here as an educational tool to learn how
these abstract systems interact. Great stuff.

------
tonteldoos
Does this remind anyone else of a very rudimentary looking Gibson (from
Hackers)? Only 20 years in the making...

------
lordnacho
Looks comical at first, but this type of thing can have great benefits for
people who are not hardcore techies. Things can be done with a physical
metaphor in everyday language. Shut down this server, make a copy, and so
forth.

------
blainesch
Now to make a minecraft server to manage my other minecraft docker servers...

~~~
yeukhon
You can run docker inside a docker inside a docker, so you can now run docker
minecraft inside a docker minecraft that manages other dockers and docker
minecrafts?

------
splatcollision
And then you can create new docker containers running minecraft servers...

------
anonbanker
I'll just leave this here:
[https://www.youtube.com/watch?v=f9exy3Xyr_8](https://www.youtube.com/watch?v=f9exy3Xyr_8)

------
forgotmypassw
>r = os.execute("goproxy exec?cmd=docker+stop+" .. containerID)

Please no.

~~~
voltagex_
What's another way to do it? This is a hack after all, but I'm sure they'll
accept pull requests.

~~~
aduermael
Of course! We're really not working full time on this, had to make it work. I
agree that one is horrible!!!

~~~
beltorak
The REST purist in me would advise against GET requests for executing actions.
Not sure how I'd design the actionable namespace though; not a lot of
experience there I'm afraid. But perhaps a POST of "cmd=stop" to
"hxxp://$host:$port/docker/container/$containerId".

------
dbalan
This maybe a really good training tool for docker containers.

------
joeyspn
I was about to migrate a side project using docker containers to AWS Lambda
just for fun... Now I guess I'll stick with docker a few more months... =)

------
kika
This is actually "Skeuomorphism level 2". Super great.

------
bechampion
man this is so good .... in the future we will have kids playing/working for
free (just joking)

------
cdnsteve
This is neat on so many levels.

------
ramon
awesome!

