Docker Reviews

187 Ratings
<a href='https://www.trustradius.com/static/about-trustradius-scoring' target='_blank' rel='nofollow noopener noreferrer'>trScore algorithm: Learn more.</a>
Score 9.0 out of 100

Do you work for this company? Manage this listing

Overall Rating

Reviewer's Company Size

Last Updated

By Topic

Industry

Department

Experience

Job Type

Role

Reviews (1-25 of 32)

Matt James | TrustRadius Reviewer
July 20, 2019

Docker: The Little "VM" That Could!

Score 8 out of 10
Vetted Review
Verified User
Review Source
We are currently using Docker in a test environment to deploy and monitor all of our servers/firewalls/switches/etc. throughout our company. We have a single server instance that houses all the containers and images. My department, the technology services department, is the only department that uses this and as it is still only being tested only one user is using/deploying/managing it—me. But it allows me to have a glance at each location to see if there are any issues that could potentially take down a site.
  • Usability is great after the initial setup.
  • Installation is a breeze.
  • The ability to knock down a container and rebuild it from scratch is fantastic.
  • It would be nice if Docker had its own frontend GUI.
  • The CLI is very difficult unless you have decent amount of Linux experience.
  • Stacks are still a mystery to me.
It would really all depend on what they are looking to do. We are planning on using it as a monitoring tool for our locations. There are tons of different ways Docker can be used so as it said, it depends on the use case. Not only do I use Docker for my company but I use it at home as well and there it is a beautiful and amazing tool for HTPC users, I just wish I had found it sooner.
Read Matt James's full review
David Tanner | TrustRadius Reviewer
July 13, 2019

Linux everywhere!

Score 9 out of 10
Vetted Review
Verified User
Review Source
Docker is used by our company to build our server deployment files and to run tests. This allows us to have confidence that our deployments will work correctly in our pull request tests. Developers can also be confident that the build will run the same every time no matter where the code is being run.
  • The OSX management tool is simple to use.
  • It is nice to be able to use custom repositories.
  • The service runs mostly in the background now, and I don't have to tinker with it .
  • Sometimes issues arise running images, that are only cleared by removing the cache and restarting the OSX app.
  • It is easy to build up a lot of containers that aren't being used, and you have to manually clear them up.
  • It would be nice to have a better graphical interface to see what is going on internally.
Docker gives developers flexibility and repeatable outcomes. It is very useful for developing with confidence and knowing that all environments will behave the same. Not all developers like to use Linux for developing, so being able to run a Linux instance on Windows allows team members to develop on their OS of choice.
Read David Tanner's full review
Anonymous | TrustRadius Reviewer
December 19, 2019

Docker: If you don't bring up and take down a few tens of dockers a day, then you really need to start doing so

Score 10 out of 10
Vetted Review
Verified User
Review Source
Docker is everywhere, there just isn't a server on an application which is not present in Docker. It forms the integral part of the whole infra for us. The beauty of Docker comes from its amazing quality of being robust, easy to start and very easy to blow it off completely. It's the most powerful tool which just does magic for us.
  • Robust.
  • Easy to setup.
  • The kernel cannot be changed.
For CI/CD it is the best tool to use. If you want to manage an infra where there are millions of machines needed you need to start using Docker if you are not.
Read this authenticated review
Anonymous | TrustRadius Reviewer
August 14, 2019

Productivity Booster

Score 10 out of 10
Vetted Review
Verified User
Review Source
Docker is used by most of our teams as part of their development and deployment practice. For development, it enables engineers to build applications in the same environment without worrying about local configuration issues. Nearly all of our CI/CD and infrastructure runs in Docker containers as well, which makes debugging production issues (especially around deployment) as simple as pulling down the right image and poking at it locally.
  • Isolation of dependencies.
  • "Black box" services like databases and packaged applications.
  • Infrastructure as code.
  • The CLI can take some getting used to if you aren't familiar with it.
  • For running many Docker containers locally, you'll need a lot of disk and RAM.
  • There are a lot of concepts to be familiar with when learning Docker, and the documentation could be more beginner-focused.
Docker is the best widely-used solution for isolated development environments and predictable deployments. However, for teams that work with only one specific technology stack, using Docker for local development can introduce more complexity. It shines when teams have to move between many different types of projects, but is "overkill" for a single application with minimal dependencies.
The community support for Docker is fantastic. There is almost always an answer for any issue I might encounter day-to-day, either on Stack Overflow, a helpful blog post, or the community Slack workspace. I've never come across a problem that I was unable to solve via some searching around in the community.
Read this authenticated review
Anonymous | TrustRadius Reviewer
July 06, 2019

Docker looks like the future of containers for development.

Score 7 out of 10
Vetted Review
Verified User
Review Source
We use Docker for WordPress development. It has replaced Vagrant on our development systems. We like the tighter integration with Windows Hyper-V and the performance is better than VirtualBox-based solutions. We are able to jump-start many projects with the Docker Compose files people contribute and publish on GitHub. Using Docker Compose we are able to create reliable, consistent, development scaffolding.
  • High performance.
  • Easy to configure consistent development systems.
  • Eliminates the "It works on my machine" problem.
  • Tighter integration with Windows 10 and WSL.
  • Better support for MacOS.
  • Better documentation.
It's excellent when you need to run several simultaneous containers and has much better performance than Vagrant or VirtualBox based solutions. It's easier to configure than VMWare. It doesn't seem appropriate if you need GUI access inside the container, I'm not sure that's even possible. SSH access is possible, but a little cumbersome.
Read this authenticated review
Anonymous | TrustRadius Reviewer
May 10, 2019

Docker for all your container needs!

Score 9 out of 10
Vetted Review
Verified User
Review Source
Instead of using VMs for our testing environments in our automated pipelines, we use Docker containers to simplify and increase the efficiency of our testing. We needed a testing environment that worked both for Windows and Linux, so Docker was the best choice for our scenario. It is being used on a team-by-team basis.
  • Containers - Docker is the go-to when using Containers, which are super useful if you need an environment that works both for Windows and Linux
  • Efficiency - Docker is very lightweight and doesn't demand too much from your CPU or server
  • CI/CD - Docker is excellent for plumbing into your build pipeline. It integrates nicely, is reliable, and has an easy set up.
  • Security - Since there's no true operating system, you're pretty limited when it comes to security in Docker. But that's with all containers.
  • Not totally isolated - Docker containers all use the same kernel, so if you've got multiple Docker containers up on one server, you could run into some issues.
  • Network connectivity - There's a fine line between limiting network access but also having proper communication where needed, since you don't have a full OS with Docker
Docker is great for when you would want to use a VM for any given application, but don't need the overhead of the whole OS. Docker containers use very little computing resources, boot up very quickly, and are very easy to set up. An instance where Docker may not be appropriate would be for an application that requires good security. If in this situation, a true VM would probably be your best bet.
Read this authenticated review
Bhargav Nanekalva | TrustRadius Reviewer
December 10, 2018

Excellent tool for rapid DevOps

Score 9 out of 10
Vetted Review
Verified User
Review Source
Reducing deployment friction is the chief benefit. The advent of the Cloud allowed us to break away from physical servers and rapidly develop our products and services. Docker adds a Saturn 5 rocket to that. It allows developers to easily build very complex application on their local machines much the same way VMs did, but with a fraction of the resources VMs take because of their reduced footprint. This in turn allows sharing prebuilt "containers" with a community be it within an organisation or global in a matter of seconds. Additionally, the days of configuration drift are solved because we all have a common "language" for sharing configurations regardless of the tools used to build them.
  • The best way to eliminate typical dev/testing/prod environment issue.
  • Simplified the deployment practice for most service systems.
  • Also contains a large number of pre-built images includes most frequently used services, Nginx, MySQL, etc. Implemented a new way to set up a service with nearly zero impact on the host.
  • Different running model compares to traditional software development/deployment method
  • Introduced a little complicated management of networking/storage
  • Difficult to remote manage/monitoring
  • Resource sharing between containers or hosts is complex
  • The docker hub is limited to a free user, can only have one private image
Docker is basically a wrapper for the LXC Container, but it does much more than that. With Docker, you will be able to put everything you need, like a web app, servers or even databases, in a container and then ship it to your production environment. With Docker Compose, you can orchestrate a whole infrastructure based on a Docker container; you just have to describe your setup in a YAML file. It's really infrastructure as code. Furthermore, you can even manage Docker Cluster with Swarm, which will allow you to deploy containers on multiples hosts as if it was only one Docker engine.
Read Bhargav Nanekalva's full review
Ben Lachman | TrustRadius Reviewer
November 09, 2018

Docker can decouple VM provisioning and deploy.

Score 7 out of 10
Vetted Review
Verified User
Review Source
We use Docker as part of a rapid deployment project that allows a service to be easily deployed directly onto VMs automatically during staging and production. It makes the management of the VM a parallel task to the deploy process. Traditionally the provision of a VM would be intertwined with the deploy process and containerization allows for these things to be decoupled.
  • Containerization - allowing multiple micro-services to function together without in-depth orchestration at the VM level.
  • Rapid deployment - a developer with appropriate access can simply push to the correct remote and the deploy happens automatically from there
  • Decouples provisioning from VM administration - allows containers to be deployed (more) regardless of VM set up.
  • Containers are often opaque - if a container doesn't work out of the box, it's messy to fix.
  • Logging is complexified by the multiple containers and logs are often not piped to places you expect them to be.
  • Networking is complexified due to internal port mapping between containers, etc.
Docker is great for staging and quickly deploying small to medium projects. With larger projects, it can become a significant challenge to manage all of the containers used for multiple microservices, keeping them up to date, secure and portable to other platforms. One of the goals of Docker is to allow the macro service to be platform agnostic and this can sometimes be more of a challenge than its long-term benefit.
Read Ben Lachman's full review
Anonymous | TrustRadius Reviewer
August 27, 2018

Very useful for testing purposes

Score 9 out of 10
Vetted Review
Verified User
Review Source
We use Docker mainly for testing purposes. To avoid issues with local environments while testing our site, we use Docker images. This has many benefits: you can easily add/remove configurations and extras. For example on PHP you can try different images with different versions of PHP. Trying to achieve this on your localhost (for example with XAMPP or something more friendly) is very time-consuming.

I should say I know Docker is meant for something more pro and I'm a light user; I don't push a Docker image completely to a server, but for testing purposes it has been extremely useful. You can use CLI for changing things, you can create different databases, alter them and load them again, etc.
  • Creating and deleting "server" images is way easier than normal. You can change configurations and it basically creates a virtual machine on your computer, but WAY easier than using VMWare yourself. It's a layer on top of that.
  • Getting images is pretty easy, there are many on the internet and you can get help from the community in some cases you are not sure what to do
  • The commands in Docker work pretty well. There is good documentation and you can achieve almost anything considering a virtual machine.
  • Maintaining stability between environments thanks to the Docker app. You can have the SAME exact app on different systems (MacOS vs Win) and it will behave 99% the same.
  • As a NON-heavy user, definitely it's a bit intimidating in the onboarding phase. It's hard to understand what everything is for and how to use it appropriately. As I wrote before, this could be because I'm not a hard developer myself.
  • At least on Windows 10, I always have problems turning it on. It has problems starting, I need to quit/start again, and then it works. I'm supposed to have a stable version, not sure if it's only myself.
My use case is different from the "main" use case, but for me, Docker is great if you want to test different apps easily in local environments. I have never pushed an app to a server, but testing, creating, and deleting servers with different configurations with 2 commands is DEFINITELY easier than how I did it before. Creating environment variables and many configurations that can be shared across a simple file definitely makes things easier.

If you, like me, know something about developing but very little about Linux and distributions, be ready to test a lot of things and have a hard time achieving what you want. That's not Docker's fault, it's because it's meant for other users who are more "experts" in that field.
Read this authenticated review
Anonymous | TrustRadius Reviewer
August 01, 2018

Docker is containers within containers

Score 10 out of 10
Vetted Review
Verified User
Review Source
Docker is truly an amazing tool that is used across our organization. It gives the developer tools to easily set up environments, deploy code, CI pipeline. Open sourced images and community supports makes it a great choice.
  • Setting up Docker containers helps developers to replicate the production environment frim their local machine in a virtual box. This helps keep development and debugging simple.
  • Portability is really helpful. You can easily shift from AWS to GCP within minutes.
  • Docker images are version-controlled just like github commits.
  • User friendly - creating the virtual environment takes a lot more time than running the shell script to set up the environment.
  • Docker containers are for running applications and not for data containers. Having that feature would be awesome.
  • Docker image and containers prune command to force-delete all the images and containers as a cleanup.
It is best managed with cloud providers and setting up your CI pipeline. You probably would set up your images with access to file system,volume, environment variable.
Read this authenticated review
Brian Dentino | TrustRadius Reviewer
March 03, 2018

Docker: Streamlined DevOps with a little overhead

Score 8 out of 10
Vetted Review
Verified User
Review Source
Docker is used across our whole engineering organization. It is used to simplify packaging and deployment of the apps and services we develop. Using docker allows us to match our development environment more closely to production and run polyglot applications without worrying about cross-cutting software dependencies and server configuration.
  • Simple interface for defining and building an application runtime environment. This makes applications easy to inspect because aspects like exposed ports and environment variables can be defined declaratively and consistently.
  • Local environment parity with production. Docker manages dependency installation and allows you to easily run apps locally in the same environment as they run in production, giving you confidence that your app will work as expected when deployed and making configuration-related bugs easier to reproduce.
  • Makes applications easy to publish and distribute. Docker's image registry makes it extremely easy to publish your applications and distribute them securely. This makes deployment much simpler and provides version control for your application artifacts, making rollbacks very easy.
  • Docker has a bit of a learning curve, and it takes some time to become familiar with the tooling and syntax. Transitioning an existing architecture to docker can represent a significant investment.
  • Docker attempts to provide some level of cross-host container orchestration via swarm, but it falls short of third-party solutions like Kubernetes.
  • We occasionally run into stability issues when the docker daemon is subjected to high load (many applications starting/stopping frequently). In these cases, docker hangs and we have to restart or replace the node.
If you have an architecture that requires the use of multiple languages or many different microservices, docker is a great tool for managing the development and deployment of these services. It is also excellent for designing fault-tolerant production environments because 3rd-party orchestrators can be used to automatically replace failing applications with minimal server configuration. It may not be the best choice if you have a single monolithic application and a well-defined deployment pipeline.
Read Brian Dentino's full review
Nic Raboy | TrustRadius Reviewer
June 19, 2018

Docker for Quick and Easy Container Deployments

Score 10 out of 10
Vetted Review
Verified User
Review Source
Docker is being used as a quick way for organizations to deploy Couchbase as a container, both independently and in an orchestrated environment. Because of how easy Docker containers are to create and destroy, it makes developer and operations work incredibly easy for prototyping in a consistent environment using the Docker runtime.
  • Container environment consistency
  • Lightweight deployments
  • Cross-platform
  • Hyper-V can cause problems for configuration on Windows environments
Docker is great for deploying headless applications like web applications, databases, etc., because it gives you a container environment that can be easily managed with a shell client. If you need to use a UI, it might make sense to use a VM instead.
Read Nic Raboy's full review
Eric Mann | TrustRadius Reviewer
June 13, 2017

Dependable deployments and consistent server environments with Docker.

Score 10 out of 10
Vetted Review
Verified User
Review Source
We use Docker as the backbone of our hosted app infrastructure. Every element of our application is broken down into a microservice; these miniature services are then built into Docker containers and deployed directly to AWS cloud. Docker lets us deterministically build, distribute, and deploy all of our services without any ambiguity as to what's being deployed and why.
  • Deterministic application state and deployments.
  • Consistent version history for previous builds.
  • Easy distribution mechanisms across the team.
  • Docker does update quickly, sometimes the updates to the engine break older container images.
  • Some of the changes to the Dockerfile structure are confusing and incompatible with older versions, challenging teams.
Docker is incredibly useful if you're deploying and hosting your own application infrastructure. It leads to reusable components that can be linked together in order to build a fully-functional, reusable system.

However, if your application is simpler and hosted on something like Elastic Beanstalk or AWS Lambda or RedShift, Docker might be overkill for the application development team.
Read Eric Mann's full review
Jesse Bye | TrustRadius Reviewer
March 24, 2017

Docker rocks!

Score 9 out of 10
Vetted Review
Verified User
Review Source
We are just beginning to use Docker for some specialized microservices within our existing server infrastructure. Specifically, we use it to run a Selenium Grid for automated web-based testing. We are considering broader adoption of Docker within areas such as Java application deployment, local development environments, and continuous integration. Docker primarily helps us maintain environmental consistency (having the same environment from local development to deployment in the cloud).
  • abstracting the virtualization aspects so that I don't need to know every detail (even to the point of not needing to know if Docker is using a VM behind the scenes or not)
  • providing a simple yet powerful configuration scheme
  • huge selection of base containers and easy way to derive from them
  • automated builds through Docker Hub
  • multiple configuration file versions can be a little confusing
  • experienced some downtime with Docker Hub, though it was cleared up quickly
  • not really a con of Docker, but it takes some time to learn the concepts of containers and adapt to that way of thinking. Perhaps it would be helpful to have a "Docker for Old School Sys Admins" guide that helps explain some of the differences in concepts and execution when working with containers.
Docker seems to be well suited for small services, but not as much for larger monolithic applications. If your architecture lends itself well to segmenting into small, interlinked services, then Docker is an excellent candidate. However, I would be cautious about spending a lot of time re-architecting your entire platform if it is more monolithic. Docker is incredible for what it does, but it will not magically make your giant million lines of code application better. I would definitely recommend considering Docker though if you are refactoring or reworking pieces of your application. There's no reason you can't adopt it in a few places, and gradually increase adoption as it makes sense to do so.
Read Jesse Bye's full review
Adam Eivy | TrustRadius Reviewer
March 06, 2017

Improves Environmental Consistency and Runtime Security

Score 10 out of 10
Vetted Review
Verified User
Review Source
Docker is transforming our confidence in build and release as well as developer onboarding. Docker containerization finally is fulfilling the promise that Chef never did, giving us environmental consistency across developers, build, various environments and production. We've been eliminating deployment time errors by encapsulating the entire operating system, language core components, security patches, etc., into the application build time. This has reduced the complexity of getting developers up and running. No longer do developers and operations have to understand the full workings of the dependencies within an application in order to run and deploy it--instead, we only need to know how to get Docker running and deployed to get our applications up and running. This allows us to have truly ephemeral environments and dependency management and eases autoscaling.
  • Environment consistency via full application and operating system encapsulation
  • Securing software runtime by ensuring that the whole environment is easily and quickly discarded and re-run from a known good state--as well as putting all dependencies of the operating system and patches into the built artifact
  • Easing developer setup time (up and running immediately without installing various software dependencies and configuring ports/etc.)
  • The ecosystem has many minimal base images for software but this could use more focus on secure base images
  • Many useful Docker commands are not built in as shortcuts to the CLI, but instead need to be managed as other aliases (e.g. `docker rm $(docker ps -a)` to remove all running and stopped containers)
  • It's not always easy for people to optimize the caching layers of docker images--an auditing tool that suggests the order of Dockerfile commands for cache optimization would be handy
Honestly, sometimes I skip the use of Docker when developing Node.js apps since they encapsulate the web server component and make runtime really easy--but for deployment, I always build a Docker image--it's the only way to know that what I'm deploying is what the build server tested. Additionally, when onboarding new developers on complex services, I've found Docker to be invaluable--now we just say, "run the Docker compose" instead of "install this, then that, then configure these ports, then make sure your OS is the right version for this dependency and stop this other service with conflicting ports before you run this, etc."
Read Adam Eivy's full review
Claudio Fernando Maciel | TrustRadius Reviewer
February 15, 2017

Simple Up and Running Script Based Containerization

Score 10 out of 10
Vetted Review
Verified User
Review Source
We use Docker to provide us fast containerization of our Continuous Deployment and Integration pipelines. Once our code is good for shipping, we trigger a test pipeline which will in turn compile all its dockerfiles, upload them to hub.docker.com if needed and then upload/install an updated version of the system and its environments at DigitalOcean via Docker drivers and swarm. Our developers as well as our production servers use it as well, being our stack composed of a total of 4 different nodes, a MongoDB container; an elasticsearch container; a nodejs container and our discovery service container, comprising Consul key-value database to store all data from our slave nodes. It's solely maintained by our development team, but the system built within is widely used by our staff as well as the company's clients, spread throughout the world.
  • Its topology isolation is in my opinion an unbeatable feature. In our systems we have the need of parallel Java 7 and 8 versions to be running together. Without Docker that would not have been made possible.
  • Docker Swarm, taking care of our load-balance characteristics so needed for our systems is a must have.
  • Docker composer is a very powerful feature, therein I can have my containers scripted and each of its continuous integration and deployment separated with each of its own concerns isolated whilst all being nicely bootstrapped together under the same "docker-compose up" command.
  • Some commands are not very intuitive. In order to have an entire swarm properly functioning [specifically for the scenario we have at our company] wasn't a simple task, having to maintain a very wide range of environment variables safely and nicely kept and good for use. The pipeline to have such a topology ready wasn't simple to figure out how to come up with.
  • Some volumes, if not properly shut down when its necessary, will take up to all your disk space. The extra -v attribute wasn't too obvious to use when removing an specific volume leading us to a huge headache.
  • Some containers, though exposed as official ones at docker.hub.com, are very space and memory consuming. We have do figure out our own containers for pretty much everything, even though the services that were necessary in the containers were pretty vanilla.
It's excellent for Continuous Integration and Continuous Deployment. Simple, savvy serviced based containers that can be fired at the simple script command. If you need to have your system promptly up and running, Docker is a perfect choice, even for the unskilled user, as it can be configured to run automatically via scripting by the technical staff. It provides a very elegant way of guaranteeing that all the environments are in sync throughout the company. A developer may have its own machine, but it will always match the production and staging servers.
Read Claudio Fernando Maciel's full review
Anudeep Palanki | TrustRadius Reviewer
April 19, 2017

Great open source software for reliable automation.

Score 9 out of 10
Vetted Review
Verified User
Review Source
Recently at Monsanto, there is a big push towards a DevOps model and micro-services. As our first step towards moving to the cloud, we started using docker to spin up new databases for various micro-services. When moving towards micro-services, we need a simple and consistent way to spin up database instances that do not affect each other. We needed consistency because we want the instances to be same across different environments.
  • Simple and reliable way to replicate instances.
  • Not needing to worry about internal workings of the instance as Docker takes care of managing the instance.
  • Very well documented API with large community support.
  • Verifiable Docker files, that allow us to look at what exists within a Docker file.
  • Managing backups of Docker instances does not scale well as the size of instance grows. The entire Docker instance needs to be stopped for the backups to happen and it's not always scalable.
  • While there are a lot of useful methods on CLI. The API for CLI is slow to evolve, leaving much to be desired. For example executing commands on the Docker instances, maintaining instances requires hacks using the CLI.
  • Writing a Docker file and debugging it is not always intuitive. Requires some trial and error to get it right.
Well suited for:

  • Small scale persistent databases.
  • Replicating the runtime environment.
  • It's also well suited for use with micro-services, where multiple small size databases need to spin up easily and consistently across environments.
It's less appropriate for database instances where backing up instances is not always scalable. It also does not fit well where monitoring instances is important, it requires a lot of additional code to manage instances.
Read Anudeep Palanki's full review
Tom Paulus | TrustRadius Reviewer
April 04, 2017

Docker - LEGOs for System Admins

Score 8 out of 10
Vetted Review
Verified User
Review Source
Docker allows us to provision identical instances across our various systems (testing, staging, production, etc.). Docker has also allowed us to drastically reduce our spin up time for new instances, as all of the components that we commonly use have been converted into Docker Files.

Additionally, because of the great community behind Docker, many of the components that we use (MySQL, Tomcat, etc.) already have Docker files for them, many of which are awesome, and are easily adaptable (if necessary) to best suit the needs of our department.
  • Easy to understand, with excellent documentation and community support.
  • Easy to deploy to a variety of platforms.
  • Allows for containers to be quickly be built, destroyed, transferred, all while keeping them consistent.
  • Docker files can be limiting, because of the core idea of Docker, with only one process per container.
  • Debugging DockerFiles can be a nightmare.
  • Some configurations for a container cannot be updated post creation.
  • There can be some trial-and-error associated with deploying containers and their corresponding Docker files.
Docker makes it super quick and easy to deploy a new app, especially useful when you want to try out something new, without committing your whole system to it. Most Docker Images are clean and light and do not add a significant amount of overhead to a production system.
Read Tom Paulus's full review
Brad Magyar | TrustRadius Reviewer
February 27, 2017

Docker killed the sysadmin, but it did not kill the developer

Score 8 out of 10
Vetted Review
Verified User
Review Source
Docker is being used primarily to host a MySQL database that runs a production website. It has been very stable and easy to work with, and we like the security that containerization affords.
  • Security by isolation.
  • Ease of deployment.
  • Flexible configuration.
  • Scalability.
  • Resource management.
  • Administration simplicity.
Excellent for the fast deployment of applications or configurations from one system to another or to many distributed systems.
Read Brad Magyar's full review
Willian Molinari | TrustRadius Reviewer
February 20, 2017

Docker for development is really amazing

Score 9 out of 10
Vetted Review
Verified User
Review Source
We're using Docker with Apache Mesos and Mesosphere Marathon for orchestration. Many departments are using it to develop and deploy applications.
  • Docker is really good to develop applications in an isolated environment
  • Compose different services to make your application infrastructure
  • Docker uses a daemon. This is a single point of failure for an infrastructure that provides many containers. If you need to restart this daemon, you will lose all your containers.
Docker is really useful to develop new applications, keeping everything isolated and easy to scale. It makes a good pair with 12factor and is really lightweight compared to virtualization. By keeping a Dockerfile and a docker-compose.yml, anyone can bootstrap their application easily.
It should not be used when a virtual machine is needed. Don't expect an instance that you may log in and execute commands.
Read Willian Molinari's full review
Linju Jose | TrustRadius Reviewer
March 14, 2016

Docker Rocker

Score 9 out of 10
Vetted Review
Verified User
Review Source
We use docker in our CI builds from creating a custom Linux image to deploying our latest code from docker registry
  • Simplicity/ Efficiency
  • Isolation/ Separation of Concerns
  • Works well with cloud deployments using services like AWS
  • Supports build automation with docker registry
  • I understand docker is evolving very well, however wish there were more logging support
  • A Docker dashboard that gives insights and statistics
Well suited when paired with cloud services. Helps regular automation too, however more handy while using shell scripts for AWS build automation.

If it is a simple project or just to set up developer environment as a local virtual machine, it might be an over kill. Wish it worked straight away on Mac
Read Linju Jose's full review
Anonymous | TrustRadius Reviewer
June 20, 2018

Docker simplifies our custom build and deployment process

Score 9 out of 10
Vetted Review
Verified User
Review Source
Docker is being used across our organization for product development and deployment. We switched to docker in order to replace a custom build and deploy the solution. We have used it as part of our build and deploy system to make the process more flexible and decentralized. It has made it much easier to build out new data centers and is part of our internationalization strategy.
  • Docker provides encapsulation of our deployed software. This allows us to consistently deploy each of our services and webs in a customizable manner.
  • Docker makes it easy to build and release software in both development and production environments
  • Docker allows us to build common baseline environments for consistency across apps while adding app-specific customizations.
  • We have had problems using Docker for local development. There are issues with how it works with our asset build system.
Docker is well suited for providing a simple, standardized deployment of our systems that can be reliably reproduced in both development and production environments. Since using Docker, we have been able to decentralize the deployment reducing the load on our dev ops team and making continuous integration processes easier to establish and more flexible to use.
Read this authenticated review
Anonymous | TrustRadius Reviewer
January 30, 2018

Quick Docker Review

Score 10 out of 10
Vetted Review
Verified User
Review Source
Docker is used across our whole engineering organization in order to have a consistent dev environment for local testing. We also use Docker for our microservices on Rancher. Docker is extremely useful as we can easily spin up any sort of environment we want and create/test new features. The use of Docker also helps prevent those "it work on my computer" type of issues.
  • Flexibility
  • Ease of Use
  • Very powerful
  • Can be seen as a black box
  • Hard to debug if unfamiliar with it
  • Semi-steep learning curve
Docker is well suited if you want to test new technologies or just having a consistent test environment across different machines. Docker also allows you to easily share your current local environment with anyone else regardless of their system. One drawback of Docker is the need to learn some of the quirks such as learning how to map ports and IPs to be accessible from your local machine. In the case where you don't need a strict environment control and only need to do some quick tests, docker can be overkill.
Read this authenticated review
Anonymous | TrustRadius Reviewer
August 04, 2017

Docker, Pros, Cons, Use Cases

Score 7 out of 10
Vetted Review
Verified User
Review Source
A large global financial services provider based in London, faced increasing regulatory pressure and market demands—led by industry disruptors offering modern, digital services. Looking to increase innovation and productivity, Barclays set out to build an Application Platform-as-a-Service as part of its cloud program. It used Red Hat OpenShift Container Platform which incorporates Docker, along with other Red Hat solutions to update its IT infrastructure and adopt an agile, DevOps approach to application development, giving its developers on-demand, self-service capabilities. As a result, the bank improved its efficiency and agility to innovate faster and stay competitive.
  • Docker brings in an API for container management, an image format and a possibility to use a remote registry for sharing containers. This scheme benefits both developers and system administrators.
  • Docker allows for portability across machines. The application and all its dependencies can be bundled into a single container that is independent of the host version of Linux kernel, platform distribution, or deployment model. This container can be transfered to another machine that runs Docker and executed there without compatibility issues.
  • Docker has a lightweight footprint and minimal overhead. Docker images are typically very small, which facilitates rapid delivery and reduces the time to deploy new application containers.
  • Docker allows for sharing. You can use a remote repository to share your container with others.
  • Docker provides great version control and component reuse. You can track successive versions of a container, inspect differences, or roll-back to previous versions. Containers reuse components from the preceding layers, which makes them noticeably lightweight.
  • Docker has got into the bad habit of wrapping open source Linux technologies and promoting them in a way that makes it feel like Docker invented it. They did it to LXC and they are doing it to aufs and overlayfs.
  • Docker is not very developer friendly.
  • Docker containers are currently for software, not for data.
  • New Docker versions cause breakage. You need all kinds of subtle regressions between Docker versions. It’s constantly breaking unpredictable stuff in unexpected ways.
  • Docker does not have a command to clean older images, lifecycle management.
  • Lack of kernel support.
Each Docker container’s purpose is to run a single application. As such, the scope for a Docker container is built towards a particular application, as opposed to an entire operating system. The file system inside a Docker container is isolated to provide an environment similar to a VM. Docker further incorporates container management solution that allows for easy scripting and automation. There is a strong focus on execution time for containerized applications and the ease of scripting. For developers looking for a performance breakdown between a Docker container and virtual machines, a container will win every time. That being said, some applications don't respond well to running in a container, such as containers that have high IO and need high performance persisted data mounted across multiple nodes.
Read this authenticated review
Anonymous | TrustRadius Reviewer
August 15, 2017

Docker FTW!

Score 10 out of 10
Vetted Review
Verified User
Review Source
We use Docker to containerize our applications, we get many benefits from this such as:
  • consistent, realizable deployment environments across dev, QA, prod - the same image used in dev is the exact same image deployed to production
  • better utilization of server resources
  • cross cloud compatibility
  • the ease of scaling applications
  • Docker makes deployments easier across environments.
  • Docker allows to better utilization of server resources by easily allowing multiple applications (images) to run on the same server.
  • Docker makes it easy to scale our applications out.
  • Docker is somewhat new and new functionality comes with each release, sometimes it can be hard to stay on top of all the new features.
  • It would be nice if a full GUI based container management system came with Docker.
Docker is best suited for deploying Linux based apps. Eventually, it should (or will) be suited for Windows based apps as well.
Read this authenticated review

About Docker

Categories:  Container Management

Docker Technical Details

Operating Systems: Unspecified
Mobile Application:No