Optimize Docker

Your Docker containers are already fast, at least compared to virtual machines. But what if you want to make them even faster? Here are strategies for optimizing Docker container speed and performance.

If you’re using Docker, it’s probably at least partly because you want your applications to start and run faster. Out of the box, containers offer significant performance advantages over infrastructure built using virtual machines.

1 -Making Containers Even Faster

  • Make your container images lean and mean.
  • Host Docker on bare metal.
  • Use a minimalist host operating system. bones Linux distribution (such as Alpine Linux or RancherOS) for hosting Docker rather than a full-feature system will deliver better performance.
  • Use microservices. There are several advantages to migrating your app to microservices. Speed is one of them. Containers that host just a microservice rather than an entire monolithic app will start faster because they have less code to run.
  • Use a build cache.

2 Portainer ::   a lightweight management UI which allows you to easily manage your different Docker environments (Docker hosts or Swarm clusters).


Portainer was developed to help customers adopt Docker container technology and accelerate time-to-value.

It has never been so easy to build, manage and maintain your Docker environments. Portainer is easy to use software that provides an intuitive interface for both software developers and IT operations.

Portainer gives you a detailed overview of your Docker environments and allows you to manage your containers, images, networks and volumes.

Portainer is simple to deploy – you are just one Docker command away from running Portainer anywhere.

Portainer is built to run on Docker and is really simple to deploy.

Portainer deployment scenarios can be executed on any platform unless specified.

Quick start

Deploying Portainer is as simple as:

$ docker volume create portainer_data
$ docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Voilà, you can now use Portainer by accessing the port 9000 on the server where Portainer is running.

Inside a Swarm cluster

Use our agent setup to deploy Portainer inside a Swarm cluster.

Note: This setup will assume that you’re executing the following instructions on a Swarm manager node.

$ curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
$ docker stack deploy --compose-file=portainer-agent-stack.yml portainer