Live data from Hacker News

Show HN: Beluga 0.1 – Docker Deployment Tool

github.com

11–14 of 14 posts

Re: Show HN: Beluga 0.1 – Docker Deployment Tool

#11

I read through (admittedly quickly) through the entire README and still don't understand what Beluga does... So it builds images, then pushes them to a remote repo, then pulls them from SSH? Is it pulling updates? Is it a daemon that keeps your containers up to date?

Beluga will execute the steps to take your project from your machine to a live production machine.

When you want to deploy a docker app you have to do the following step manually :

1. Build the docker images on your machine.

2. Tag them to the repository you want to push to (either private or dockerhub)

3. Upload them to the image repository

4. Connect to the remote servers and pull the new images.

5. Unlink and stop the running containers

6. Start the new containers.

All these steps are automated with 2 commands on beluga :

beluga --build does the steps 1, 2 and 3.

beluga --deploy does the steps 4,5 and 6.

Re: Show HN: Beluga 0.1 – Docker Deployment Tool

#12
post #2

Hey guys, Cortex CEO here, we've built Beluga to make Docker instances easily deployable for multiple clients. Let us know if you have any questions!

Hi Ctex, It's neat that beluga is written predominantly in bash but it's also difficult to see what Beluga actually does. Right now it looks like it sets up an environment for a docker compose app to run. Similar to docker machine but also solvable by tools like ansible, salt or python fabric. Kubernetes and Mesos are solving different problems. They manage and orchestrate services and add ons may also help with repo…

Hi, thedevopsguy.

The whole goal of beluga is to take your docker-compose project from your machine to a remote host and have it running.

It's meant to be used with the existing docker-machine & docker-compose tools and shouldn't interfere with any internal docker apis.

Beluga was originally written in bash as we didn't want to impose runtime dependencies. Bash is usually pretty much available everywhere expect bsd.

It also accounts the fact that if you have to deploy to multiple machines you won't have to rebuild your project everywhere as it can push and pull the images from either dockerhub or your own self hosted docker registry (either https://github.com/docker/docker-registry or https://github.com/docker/distribution).

Here's a link to a sample node.js project that is deployed with beluga. https://github.com/cortexmedia/Beluga-SampleProject-Nodejs

It's pretty much a standard docker-machine & docker-compose project but with an additonal file.

Re: Show HN: Beluga 0.1 – Docker Deployment Tool

#13
post #7
post #6

What's the advantage of this over, say, Salt's DockerIO state? ref.: https://docs.saltstack.com/en/latest/ref/states/all/salt.sta...

For me from a quick glance it's that it's nice and simple. For a lot of deployment situations larger frameworks feel like a minefield of some default I'll miss. This is great because I can read and understand the entire source code in a couple minutes.

That's exactly it :)

Re: Show HN: Beluga 0.1 – Docker Deployment Tool

#14

I read through (admittedly quickly) through the entire README and still don't understand what Beluga does... So it builds images, then pushes them to a remote repo, then pulls them from SSH? Is it pulling updates? Is it a daemon that keeps your containers up to date?

Beluga will execute the steps to take your project from your machine to a live production machine. When you want to deploy a docker app you have to do the following step manually : 1. Build the docker images on your machine. 2. Tag them to the repository you want to push to (either private or dockerhub) 3. Upload them to the image repository 4. Connect to the remote servers and pull the new images. 5. Unlink and stop…

Thanks for the break down!
Post reply on HN