Posts categorized “docker”
One of the benefits of containers is the promise of portability. The Docker mantra is to build, ship, and run. Containers also promise the ability to, with few changes, move from a developer’s laptop to a production environment and, in the same vein, the ability to move from a data center to the cloud or to many clouds. However, adopting containers alone does not guarantee this. At the core, containers are just a better way of packaging your applications. While they ensure a degree of technical compatibility across many clouds, they don’t ensure complete portability by themselves. In this post, we will look at some of the many considerations from the portability lens.
Businesses compete to transform digitally, but most are restricted in some way or another from moving over to the cloud or to a new data center by existing applications or infrastructure. Docker® comes to rescue and enables the independence of applications and infrastructure. It is the only container platform that addresses every application across the hybrid cloud.
This blog provides insights into the Docker architecture and key features so that you can get started with these migration activities and explains why you might want to use Docker.
At SUGCON 2015, Rackspace and Hedgehog presented about how using Docker will shape the way we work with Sitecore, an ASP.Net web content management system. With the release of Windows Server 2016 Technical Preview 4, we are now able to run Sitecore in a Docker container.
I - Introduction
In Part I of this series, we depicted a fictional scenario for agile development using a simple "Hello World" application composed of just a single UI layer. During this fanciful (albeit contrived) exposition, we glossed over many of the underlying details for the sake of brevity. In this article, we will take a little peek under the covers and explain in more depth how we achieved rapid, automated deployments of immutable application containers to remote test environments.
I - Introduction
This is the first of a two-part series that demonstrates a pain-free solution a developer could use to transition code from laptop to production. The fictional deployment scenario depicted in this post is one method that can significantly reduce operational overhead on the developer. This series will make use of technologies such as Git, Docker, Elastic Beanstalk, and other standard tools.
Container technology is evolving at a very rapid pace. The purpose of the webinar talk in this post is to describe the current state of container technologies within the OpenStack Ecosystem. Topics we will cover include:
- How OpenStack vendors and operators are using containers to create efficiencies in deployment of the control plane services
- Approaches OpenStack consumers are taking to deploy container-based applications on OpenStack clouds
The goal of this post is to develop an application in an environment that's as close to your remote deployment environment as possible. Let's do this using Docker Machine and Compose to move an app from local development to remote deployment.
In this post, we look at Docker, CoreOS & Fleet and demonstrate how one could use all of them in an application scenario.
At first glance, Ansible and Docker seem to be redundant. Both offer solutions to the configuration management problem through very different means, enabling you to reliably and repeatably manage complicated software deployments. While you certainly can use either on its own with great success, using both together can result in a fast, clean deployment process.
There are two ways that you can combine them, both useful for different reasons. You can use Ansible to orchestrate the deployment and configuration of your Docker containers on the host, or you can use Ansible to construct your Docker container images based on Ansible playbooks as a more powerful alternative to Dockerfiles.
As a PhD student at UC Berkeley, my duties involve some amount of teaching; so, this semester (Spring 2015), as well as last spring, I have been a teaching assistant for a class taught by my advisor, Tom Griffiths. The class, called Computational Models of Cognition (COGSCI 131), aims to introduce students to computational models of human behavior. The problem sets are a mixture of simple programming assignments—usually requiring students to implement pieces of different models—and written answers, in which students report and interpret the results of their code.
In the past, the problem sets were written in MATLAB. This year, however, we decided to make the switch to Python. In particular, we decided that the IPython/Jupyter notebook would be an ideal format for the assignments. The notebook is a cross-platform, browser-based application that seamlessly interleaves code, text, and images. With the notebook, it is possible for us to write instructions in the notebook, include a coding exercise after the instructions, and then ask for their interpretation of the results immediately after that. For an example of what the notebook looks like, you can check out try.jupyter.org for a demo.
The IPython/Jupyter notebook is a wonderful environment for computations, prose, plots, and interactive widgets that you can share with collaborators. People use the notebook all over the place across many varied languages. It gets used by data scientists, researchers, analysts, developers, and people in between.
Docker announced Docker Machine in December 2014. This clever new software eliminates the need to create virtual machines and install Docker before starting Docker containers on them. It handles the provisioning and install process for you behind the scenes. You can learn more about Docker Machines at its GitHub project page.
Let's take a quick look at how we can get some of this awesomeness!
One of our highest priorities at Mist.io is to never break production. Our users depend on it to manage and monitor their servers and we depend on them. At the same time, we need to move fast with development and deliver updates as soon as possible. We want to be able to easily deploy several times per day.
With the launch of our new Performance Cloud Servers - we've got speed. Lots of speed. Oodles of speed. I've got more benchmarks and data to post, but one of the things I've been meaning to do prior to this launch is to show how quickly you can get up and running with something else that's rocking the tech world: Docker.
Since becoming a Racker back in 2007, one of my all time favorite websites has been slumlordhosting.com. Slumlord Hosting is a parody of really bad shared hosting environments, advertising some amazing features:
- Dedicated space on a "High Density Floppy Storage Area Network Device"
- A duel (sic) channel ISDN line for maximum bandwidth
- 10MB of dedicated space
On top of the features listed above, the website itself is glorious. Looking at it recently, I began to think to myself, "If I were running a business like this, what could I use to squeeze every possible resource out of a server and offer it up for shared hosting?" Enter Cloud Servers and Docker. My strategy is simple: build a Cloud Server, install Docker, and then create as many containers as possible. I've decided to use WordPress containers since WordPress is extrememly popular.
Running a hosting business based on how many containers you can squeeze on a server is definitely NOT RECOMMENDED and is more for fun while we play with Docker.