sexta-feira, 8 de abril de 2016

Docker Cloud, what is it? How it works?

Docker Cloud is a hosted service for Docker container.
With Docker Cloud is possible to do management,orchestration and deployment  of the container in some Cloud Providers. These type of product is classified with as CAAS, Container-as-a-Service.
It was acquired by Docker in the ends of 2015, and this project was called tutum.
Some features available in the Docker Cloud:
  • Provision Docker Installed Infrastructure
  • Manage node clusters
  • Pull images from Docker Hub 
  • Deploy containers across nodes
  • Monitor and scale applications
  • Continuos Integration
  • Continuos Delivery
  • Client  : HTTP, Command Line Interface,Go,Python,UI DashBoard
It is possible to create, deploy and managing applications as well as start, restart, destroy containers.
These service are free for just one private repository and one parallel build.
The could providers available are:
  • Amazon Web Service
  • Digital Ocean
  • Microsoft Azure
  • SoftLayer
  • Packet
To use Docker Cloud for the first time is very easy, they have a tour that shows step-by-step what it should do like, link a cloud provider, deploy a node, create a service, create a stack and use image repository from docker hub. All these steps are itemized with hint on each label.
How does work?
In my test I used a cloud provider AWS.
In Create Stack I picked up one option offered by https://stackfiles.io with Redis.
When clicked "create", was showed the Stack that I choose appeared listing the container that will be deployed.
After that the next step was creating the Node Cluster. This node cluster is a one EC2 in AWS, in this EC2 will be installed Docker machine, and in this Docker machine the containers will be deployed .
When this step concluded, this Node Cluster, will be showed with State running in Docker Cloud Node panel and Running in AWS Console.
Be careful , because the Security Group by default blank, it means in AWS connection TCP inbound , opened in all ports.
At this moment it is possible to start the container available the Stack Panel.
If you click in the container with web it is possible to click to see the application web running.
Another option to deploy,or manage containers is by command line interface.
The steps for these are:
1. install docker-cloud
- Mac OS: brew install docker-cloud
- Unix: pip install docker-cloud
2. docker login // docker hub account
3. mkdir devops-cafe //create dir to DockerFile and code
4. main.go // code that produce hello world in por 80
5. create DockerFile

6. create Docker Compose
7. docker build -t devops-cafe .
8. docker tag devops-cafe rafaelsalerno/devops-cafe
9. docker push rafaelsalerno/devops-cafe
10. docker-cloud service run -p --name web rafaelsalerno/devops-cafe // after this command the container should be running 

11. docker-cloud container ps --no-trunc --service web //check containers running 

12.docker-cloud service scale web 2 // deploy more 2 container with the same application
In this brief contact with the Docker Cloud, I could see that this tool makes life easier when we want work with Docker integrated with AWS.
The command line is powerful, the Dashboard is simple and objective to work.
References:

Nenhum comentário:

Postar um comentário