TrustRadius
https://dudodiprj2sv7.cloudfront.net/product-logos/1j/eo/R1O1JHFQBJET.pngDocker can decouple VM provisioning and deploy.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.,7,Allows us to easily develop and deploy small projects without significant overhead. Is one more requirement for DevOps hires. Allows us to choose the best cost solution for hosting each service without locking in to that solution long term.,HerokuDocker for Quick and Easy Container DeploymentsDocker 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,10,Has made it easier for users to get started with our product Less time spent on configuring servers and environments for testing, staging, and production,VMware Fusion, Parallels Desktop and Oracle VM VirtualBox,NativeScript, 1Password, AWS LambdaVery useful for testing purposesWe 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.,9,We are able to try things very quickly compared to before. If you need to debug it, changes on X/Y/Z will have an impact on the way your app works, and changing libraries or configurations of the environment easily can improve your development cycles. In case someone new arrives, the onboarding is pretty easy thanks to Docker. We have tried many configs and images until we reached a point were we have what we want. We don't have to painfully do that again for every new user. We just send him the image.,,Google Tag Manager, AdWords, Facebook for Business, Chrome DevToolsDocker simplifies our custom build and deployment processDocker 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.,9,Docker has made it possible for us to deploy code faster, increasing the productivity of our development teams. Docker has made it possible for us to decentralize our build and release system. This means that teams can deploy on their own schedule and our dev ops team can concentrate on building better tools rather than deploying for the teams Docker has allowed us to virtualize our entire development process and made it much simpler to build out new data centers. This, in turn, is significantly increasing our ROI by providing a path forward for internationalization.,Oracle VM VirtualBox,TeamCityDocker is containers within containersDocker 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.,10,Eliminate chef cook books. Developers have their environment setup easily giving more time to concentrate on code. CI pipeline in Jenkins runs perfectly with Jenkins. Each project using differeng containers. This makes decency management simple.,,Sauce Labs, Google Compute Engine, Kubernetes, Sumo Logic, New Relic APM, New Relic Synthetics, New Relic Insights, New Relic Browser, Splunk Cloud
Unspecified
Docker
120 Ratings
Score 8.6 out of 101
TRScore

Docker Reviews

Docker
120 Ratings
Score 8.6 out of 101
Show Filters 
Hide Filters 
Filter 120 vetted Docker reviews and ratings
Clear all filters
Overall Rating
Reviewer's Company Size
Last Updated
By Topic
Industry
Department
Experience
Job Type
Role
Reviews (1-25 of 26)
  Vendors can't alter or remove reviews. Here's why.
Ben Lachman profile photo
November 09, 2018

Review: "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
Nic Raboy profile photo
June 19, 2018

Review: "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
No photo available
August 27, 2018

Docker Review: "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
No photo available
June 20, 2018

Review: "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
No photo available
August 01, 2018

User Review: "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 profile photo
March 03, 2018

Review: "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
No photo available
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
Eric Mann profile photo
June 13, 2017

Review: "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
No photo available
August 04, 2017

User Review: "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
No photo available
August 15, 2017

User Review: "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
No photo available
August 15, 2017

Review: "Docker for QA: dockerized Selenium Grid"

Score 10 out of 10
Vetted Review
Verified User
Review Source
Docker is used for by both the dev team and the QA team on my project. For the dev team it's really useful as they had a lot of issues prior to using Docker with the different setups the devs had: Win/Linux/Mac. After switching to Docker these issues disappeared.

For me as an automation QA lead, it's mainly used for our Selenium Grid. Our grid is running on AWS, and I configured it via Docker. I use docker-compose to start it up and to scale how many browsers should be started. Using only Docker was already a huge help, as we didn't really have to worry about the configurations and it was easy to use the same setup for more instances, but combined with the scaling option of docker-compose it proved to be a really convenient.
  • Develop on multiple platforms. The same Docker image can be used on Linux/Mac/Windows.
  • Ease of configuration. It's very easy to create a base image for your project. There are a lot of already existing images you can use to start with.
  • Scalability. If you need more than just one instance of the same image, it's just a command to spin up more.
  • Finding the perfect configuration: it's very easy to find some basic configurations, but fine-tuning it can be challenging.
  • Understanding the concept can be difficult at first. Most of the question I get from colleagues are around: what's happening inside the docker, how we can see the logs what happens inside etc. One you have the concepts, you can easily do these, but this can be a rough beginning.
  • Sometimes difficult to set it up. I'm mainly hearing about this from colleagues using Windows.
I most certainly would encourage everyone to try it. It might not be a good fit for their needs, but knowing about it definitely helps. For me it's very useful because of the way we can set up Selenium Grid with it. As official images are released for it, setting up a working Selenium Grid can be done in 1-2 single commands. If you use Docker Compose it's even easier to spin it up, just create a YML file describing the browsers you want to use, and with one single line you can spin up a grid with X number of different browsers and browser instances.
Read this authenticated review
No photo available
June 26, 2017

User Review: "Testing with Docker"

Score 7 out of 10
Vetted Review
Verified User
Review Source
Docker is being used by us to create and throw away spaces as needed for testing. Instead of managing a huge hardware lab we are able to "spin up" configurations as needed. If we need a new configuration to test against we just build a new container. It makes life more simple.
  • Docker is fast.
  • Docker is well documented.
  • Docker has public container registries.
  • Docker storage is still hard.
  • Docker has poor monitoring.
  • Docker is platform-dependent.
One of the coolest things about Docker that people tend to overlook, I think, is the way it has made public repositories the go-to way to distribute and install software. I’m referring to Docker Hub, which hosts thousands of container images that anyone can grab in just a single command.
Read this authenticated review
Jesse Bye profile photo
March 24, 2017

User Review: "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 profile photo
March 06, 2017

Docker Review: "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 profile photo
February 15, 2017

Docker Review: "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
Bhargav Nanekalva profile photo
January 23, 2017

Docker Review: "Excellent tool for rapid DevOps"

Score 9 out of 10
Vetted Review
Verified User
Review Source
Reducing deployment friction is the chef 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 foot print. This in turn allows sharing prebuilt "containers" with a community be it within a organization 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
Anudeep Palanki profile photo
April 19, 2017

Docker Review: "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 profile photo
April 04, 2017

User Review: "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 profile photo
February 27, 2017

Review: "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 profile photo
February 20, 2017

Review: "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
No photo available
April 03, 2017

Review: "Docker is for microservices and app delivery"

Score 8 out of 10
Vetted Review
Verified User
Review Source
We are using Docker today to spread multiple Tomcat instances across a single machine. Docker is currently being used by our devops team but we're a small company so that's pretty much the entire infrastructure team as well. Docker helps us keep our configs simple, easy to use, and reproducible in a really efficient manner.
  • Docker makes it very easy to reproduce a service build and configuration. This is huge for rolling out quickly and efficiently.
  • Docker can orchestrate your containers to auto scale up and down with Docker Compose. This is very useful on cloud providers where you pay for instance to keep prices down.
  • Docker's intra-container networking works well for the most part but it does leave something to be desired when attempting to weave a complex deployment of microservices across multiple bare metal machines and networks. It would be nice to introduce some sort of modeling tool into container networking.
  • A really neat feature for Docker could be to have an option to analyze container utilization and alert or notify on suggestions to improve efficiency.
Docker is well suited for any environment with a microservices architecture and a need for efficient use of hardware. It is important to not try and mold a non-conforming infrastructure into containers that run more than one service or perform multiple actions. That type of infrastructure should first be ported to microservices and then containerized.
Read this authenticated review
Linju Jose profile photo
March 14, 2016

User Review: "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
No photo available
March 11, 2016

User Review: "Docker...a huge win!"

Score 10 out of 10
Vetted Review
Verified User
Review Source
We are using Docker to deploy multiple services for our company.
Docker allows us to deploy more stable apps, since containers provide an identical application-environment across multiple deployment-environments.
Docker also allows us to differentiate between server/compute infrastructure and application infrastructure.
Ops manages the cluster of servers, while application developers simply run containers on the cluster.
  • Application Runtime Provisioning: Instead of requiring a devops engineer to craft a lengthy provisioning configuration for an application, Devs can easily create a Dockerfile that builds the exact runtime needed for their applications
  • Polygot environments: Now that services are are individually provisioned for their task (as opposed to servers provisioned for their task) polyglot services are much more simple. Using the best-tool-for-the-job is simple
  • Scaling is easy: Need to scale a service from 5 to 15 nodes? Simply run 10 more containers across the server cluster. Startup is near instant for containers.
  • Application Architecture has Improved: Before Docker, our team was nowhere close to 12-factor applications. Docker has allowed us to still manage our own infrastructure, yet we're now building highly-scalable 12-factor apps.
  • Service registration and discovery could easily be implemented into Docker/Swarm and would make new-infrastructure startup much simpler.
Docker is not as beneficial for teams maintaining a single, monolithic application. It solves some issues, but the benefits it provides aren't as impactful. For anything outside of that - e.g. teams maintaining multiple applications or services, it is extremely beneficial.
Read this authenticated review
No photo available
March 09, 2016

User Review: "Docker for research reproducibility"

Score 9 out of 10
Vetted Review
Verified User
Review Source
As a research organization, we utilize and develop bioinformatics tools as our contribution to the research communities. In particular, we address the research reproducibility issues by developing Docker containers to wrap our research pipelines. Currently we use GitHub and DockerHub as a public repository for other users. Since the users are targeted for a wide range of users (not necessarily tech savvy), graphical user interface is essential. One of the challenges that Docker users currently face is to deliver the graphical user interface from Docker to the user.
  • Light weight and portable.
  • Easy to share (either by Docker file or as a container/DockerHub).
  • Same environment regardless of users operating system.
  • Docker is mainly a command line tool; delivering a graphical users interface out of a container is still a problem.
  • When Docker runs within a VM as in the case of Mac and Windows users, transferring files in and out of Docker is challenging.
  • Since with Mac and Windows users Docker runs within a VM, there's an extensive overhead that need careful consideration.
As in our case, Docker is a great tool to ship and deliver research pipelines for other scientists to use, as it minimizes the hassle of compiling and dependencies issues. In data analytics pipelines, it especially great for running on the cloud where the data sits.
Read this authenticated review
No photo available
March 18, 2016

User Review: "Docker in play"

Score 8 out of 10
Vetted Review
Verified User
Review Source
Its simple and easy to build and run containers on bare metal VMs without much sys admin experience.
  • Developers are able to set up workstation in their local in couple of secs.
  • docker image pull is taking more time.
  • Containers are crashing some times due to teh file system or daemon issue.
Docker allows us to scale horizontally and it's providing immutability across profiles.
Read this authenticated review

Docker Scorecard Summary

About Docker

Categories:  Container Management

Docker Technical Details

Operating Systems: Unspecified
Mobile Application:No