Bobcares

6 tips for success when using Docker in production environment

by | Dec 1, 2016

A survey on Docker conducted by O’Reilly Media and Ruxit, revealed that more than 93% of respondents prefer containers for development, testing or production.

Quick deployment, easy scalability and container isolation makes Docker suitable for use in application hosting, mostly for development and testing purposes.

But when using Docker containers in production servers, there are a few critical aspects to be taken care of, inorder to make effective use of it.

Today we’ll see the major components to be included in your Docker management system, while using Docker in production.

1. Quick deployment

One of the key features of Docker is its ease of deployment. Containers can be deployed quickly and managed using orchestration tools such as Docker Swarm or Kubernetes.

A web UI such as Shipyard, Cockpit, Docker UI, etc. helps to easily deploy Docker container instances and to manage the tasks such as starting and stopping them.

 

Shipyard - A web UI for Docker

Shipyard – A web UI for Docker

 

Choosing the right UI should be done based on the type of Docker infrastructure. For instance, Shipyard is useful for Swarm while Cockpit is enough for simpler architecture.

Along with the web UI, we also maintain custom ‘Docker compose’ files for common applications such as WordPress, Magento, etc. to aid the project deployment speed.

[ You don’t have to lose your sleep to keep your customers happy. Our Hosting Support Specialists cover your servers and support your customers 24/7 at just $10.94/hour. ]

2. Resource Management

Resource management is a very crucial aspect in Docker systems. Host machine resources such as CPU, memory, I/O, etc. are shared among the containers.

Over time, traffic spikes can happen and containers may face resource shortage. Not having enough resources can cause containers to crash, thus disrupting the business.

 

Resource usage of Docker container

Resource usage of Docker container

 

For instance, memory shortage can lead to containers exiting with ‘Out of memory’ error. By settings limits for containers, we could achieve huge improvement in Docker performance.

To avoid container crashes due to disk space shortage, we increase the storage pool size to allot more disk space to the Docker containers and clear up Docker cache regularly.

3. Backup management

Backups are vital for any live server. Disasters may strike any moment unexpectedly and an unavailable website can lead to a loss of business income.

Having backups handy, helps to ensure business continuity and to minimize the downtime. We maintain custom scripts to backup and restore the container data.

Taking backups of Docker containers

Taking backups of Docker containers

 

Our backup management system includes a backup policy to define the frequency and time of backups. An external backup server is maintained for ensuring data redundancy.

Labels for backup identification, periodic rotation of backups to save space, monitoring the backup process and performing test restores are also part of our system.

[ Running a hosting business doesn’t have to be hard, or costly. Get world class Hosting Support Specialists at $10.94/hour (bulk discounts available) ]

4. System security

By default, Docker containers cannot be accessed from the external network. But when using docker in production, many applications require to be accessed externally.

This is done by exposing Docker container ports by mapping them to the host machine’s port. But when ports are exposed, security issues tag along with it.

Exposing Docker ports in production for external access

Exposing Docker ports in production for external access

 

Vulnerabilities in the services or applications running in the containers can also lead to hacks that can crash the other containers or even the entire host machine.

By restricting access to ports using firewalls, we secure the containers. Namespaces and security systems like SELinux, AppArmor, etc. are used for advanced security.

We also implement SSL encryption for services and applications running in the Docker containers, using tools such as Let’s Encrypt.

5. Container monitoring

Uptime and availability of production servers are crucial for online businesses. But high traffic, abusive users or vulnerable applications can cause containers to crash.

To timely identify crashes and resolve them to ensure uptime, an effective Docker monitoring system such as Zabbix, is a must.

At Bobcares we have a 24/7 monitoring team that configures the monitoring system by setting alerts for critical services and tweaking the system to avoid false alerts.

 

Zabbix monitoring for Docker containers

Zabbix monitoring for Docker containers

 

Bobcares engineers promptly act upon the service alerts and fix them. There are times when even the host machine goes down due to unforeseen circumstances.

By default, Docker containers do not start automatically when the host machine reboots. We configure auto-start feature in the containers to start them after such crashes.

6. Image and storage management

The main components of a Docker infrastructure are the data storage for storing the container data and the image repository for saving Docker images.

In Docker, the data stored in the containers would be lost upon restart. To retain the data and to make the system scalable, we configure persistent data storage using data volumes.

Many applications and services require customized Docker images for their business. Keeping these images up-to-date with patches is crucial for Docker security.

At Bobcares, we setup and maintain a private repository for storing our custom images. While having repository gives control over images, managing it securely is very important.

 

Docker private repository for storing images

Docker private repository for storing images

 

[ Use your time to build your business. We’ll take care of your customers. Hire Our Hosting Support Specialists at $10.94/hr. ]

Trouble-shooting Docker issues in production..

Identifying the Docker container related issues and resolving them promptly are vital while using Docker in production environment.

Docker stores the relevant information in its log files. By examining these log files, we are able to quickly troubleshoot and fix the container issues.

At Bobcares, we have 24/7 teams of engineers who are experts in setting up and managing Docker infrastructure for both development and hosting companies.

If you’d like to know how to manage your Docker resources efficiently for your business purpose, we’d be happy to talk to you.

 

 

Get a FREE consultation

Do you spend all day answering technical support queries?

Wish you had more time to focus on your business? Let us help you.

We free up your time by taking care of your customers and servers. Our engineers monitor your servers 24/7, and support your customers over help desk, live chat and phone.

Talk to our technical support specialist today to know how we can keep your service top notch!

TALK TO AN EXPERT NOW!

  var google_conversion_label = "owonCMyG5nEQ0aD71QM";


Bobcares provides Outsourced Hosting Support and Outsourced Server Management for online businesses. Our services include Hosting Support Services, server support, help desk support, live chat support and phone support.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.