Docker at RunAbove with SailAbove

Docker at RunAbove with SailAbove

Published July 8, 2015 in Cloud, Deployment, Docker - Last update on July 12, 2015.

In the Docker tsnuami where we are, most cloud company has their own public container offer:

Those services are stiil often in Beta or Alpha and for begin a turn around of this Docker compatible offers, I started by SailAbove, RunAbove's Docker platform.

Overview

Basicaly SailAbove allows to instantly run a container and expose its ports on a public DNS. RunAbove has its Docker Image registry and its own DNS server for provide domain name to users. Client side, there's not yet a web interface, only Python command named sail which imitates docker and docker-compose plus actions in their API.

On paper SailAbove it's:

  • A public Docker service
  • A private Docker images repository
  • Integrated load balancer named Predictor
  • Docker-compose integration

Let's play

As seen in previous article Dockerizing and Docker-composing my blog, my image will be a uWSGI service and I can compose a full stack with compose. No need to create a test image, my blog is made for.

Firstly go to labs.runabove.com and sign up to the SailAbove's test program. After, branch your docker client to SailAbove's registry:

# docker login sailabove.io
Username: zulupro
Password:
Email:
WARNING: login credentials saved in /root/.dockercfg.
Login Succeeded

Next step, I push my image to RunAbove, do not forget to build your image with a tag (repository name with -t):

# docker build -t myblog .
# docker tag myblog sailabove.io/zulupro/myblog
# docker push sailabove.io/zulupro/myblog

Add a service and consult it.

# sail services add zulupro/myblog myblog
# nc -zv myblog.zulupro.app.sailabove.io 3031
Warning: inverse host lookup failed for 92.222.69.162: Unknown host
myblog.zulupro.app.sailabove.io [92.222.69.162] 3031 (?) open

 In French: Frais !

What's new beside Docker ? Like several Docker platform, SailAboves use the concept of service for inquire informations about scaling, HA, network, etc:

# sail services inspect myblog
attached_domains: []
container_command:
container_entrypoint:
container_environment: []
container_model: x1
container_network:
  public: true
  zulupro/private: true
container_number: 1
container_ports:
container_user:
container_workdir:
containers:
  myblog-1:
    network:
      public:
        ip: 92.222.69.162
      zulupro/private:
        ip: 192.168.0.247
    state: running
creation_date: 2015-07-08T20:13:00.856728
deployment_date: 2015-07-08T20:16:49.668545
description:
hostname: myblog.zulupro.app.sailabove.io
image: aa6b4154399e153f3d4e07b371176ec5fa34513123f0f71f6a6490f78de2b059
linked_from_service: {}
linked_to_service: {}
name: myblog
pool: public
repository: zulupro/myblog
repository_tag: latest
restart_policy: no
state: running

Compose aka fig

Docker-compose and RunAbove it's:

# sail compose up zulupro
[fig] Parsing fig file
Failed to up compose : Image build support is not supported for now

In other words NotImplementedError or API doesn't support yet docker-compose. It will be maybe an another article but for now composing can be made manualy with sail services command and its options..

References

Comments

Post your comment

Comment as . Log out.