Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
CoreOS + NodeOS = Win #17
I've had a number of people who've tried to run node-os, but run into problems deploying docker. See NodeOS/NodeOS-Docker#5
I'm exploring using CoreOS as the base system.
Assuming you have Vagrant installed, you can get node-os running with
$ git clone https://github.com/coreos/coreos-vagrant/ $ cd coreos-vagrant $ vagrant up $ vagrant ssh core $ docker run nodeos/nodeos
I haven't really explored CoreOS much yet, but it looks promising. Basically CoreOS treats Docker as its package manager, which is pretty sweet. I think these two compliment each other well. To use docker-speak CoreOS is the lightweight cargo ship, and node-os is the lightweight container.
I'm going to explore this more, and hopefully turn this into a blog post.
I use the coreos vagrant image quite a bit. I'm not sure if the current image supports docker 0.8 though. (I could be wrong, I installed a pretty early coreos image which was only 0.7.3).
The other option is boot2docker or just the stock docker vagrant image.
See my install instructions on docker-spawn which detail for all the options how to make this work.
Out of all the options coreos is the most solid IMHO.
Particularly if you want to do mapping of your mac file system into a container. Coreos uses nfs with vagrant which means things like
The default docker vagrant image VirtualBox which has a bug in vboxfs which means that
boot2docker is really easy to install, but it's still pretty rough around the edges, but it will be the way to go in the future for local dev IMHO.
The mechanism to change the docker daemon to listen on port 4243 is a little tricky (see the install instructions linked above).
I think to make it completely braindead you can fork the vagrantfile, tweak it to change the default, or to add an option to expose port 4243, and go from there.
Either way, coreos is the most stable, dependable way to go at the moment.
Only thing to be aware of is that coreos does have chaos monkey built in apparently, so it will randomly reboot (as a feature).
You have been warned :-)
@eugeneware I thought you were joking, but apparently not
I don't really agree with their rationale here, but I get their intentions. The real chaos monkey from netflix operates on a single instance in a auto-scale cluster, so taking down a single instance doesn't actually destroy your application.
I have two concerns here:
Whatever I choose for (1) needs to be easier than the Ubuntu setup is now. CoreOS is pretty easy, but I'm afraid of answering "why did node-os crash" questions because of random reboots. The boot2docker project looks cool; ideally I want someone with osx to be up and running node-os after copy-pasting a few commands.
As for (2) I definitely don't want an OS that randomly reboots, especially when that OS is acting as the hypervisor.
Eventually node-os will not require another system in place, but for now I think it's more interesting to see node-os close to the user applications and not the hardware.
@EndangeredMassa I didn't really have any issues with Ubuntu either, but I don't want my experience with Ubuntu/Docker to color my judgement. I think a lot of people interested in node-os may be coming to with limited systems experience.
Thanks for your feedback, especially @eugeneware for your awesome docker references. I'm going to check those out and see if I can simplify the quickstart process.
Installing docker was really my only issue though. @EndangeredMassa echos my sentiments. I just wish something prompted me to download it correctly.
Running docker was extremely straightforward.
Getting used to ubuntu and linux has been a challenge for me (But a worth-while one for sure.)
@groundwater I wouldn't worry too much about this issue unless you think it adds value to your project.
CoreOS kinda fits into my vision of where node-os will exist in the deploy stack. I don't want to couple this project to CoreOS, but I do imagine having a lightweight system in-between the hardware and each node-os instance.
@jtenner I didn't mean to call you out, it's something that others including myself have had problems with.
@jtenner it definitely helped, and your issue is a very real issue. You happened to report the failure, but I bet many others did not. We may have lost an enthusiast, or future contributor.
A node-os instances almost certainly has fewer features than a linux distro, we can't do much about that. What we can do however is try to make the experience more welcoming to beginners.
In the not too distant future, I want a nice way to deploy node-os instances in the cloud through
In case we go the ship a custom
$ git clone https://github.com/eugeneware/coreos-vagrant $ cd coreos-vagrant $ PRIVATE_NETWORK=126.96.36.199 vagrant up $ curl -o docker https://get.docker.io/builds/Darwin/x86_64/docker-latest $ chmod +x ./docker $ export DOCKER_HOST=tcp://188.8.131.52:4243 $ ./docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
I tried it with the instructions from @groundwater but got this in the end:
Is this expected?
To add to this. The init process (pid 1) is in non-boot mode, meaning when
For demo purposes with Docker, this is usually what you want to happen. If
On Thu, Sep 11, 2014 at 6:10 PM, Jesús Leganés Combarro <