As a developer you know that one of the trickiest problems in software development is having to deal with environment disparity across different machines and platforms. Docker allows you to run containers locally, eliminating disparity between your development and production environments, and everything in between. There is no need to install software packages locally. Everything you need for your development environment can simply run on the Docker engine as containers. Regardless of the language or the tool, you can easily containerize your environment locally. With Docker Desktop and Docker Hub, it’s the ultimate answer to your portability concerns as containers can easily move across machines.
Regardless of an organization’s size, onboarding new developers and getting them up to speed as quickly as possible remains a distinct challenge. Using Docker Desktop and Docker Compose, you can significantly reduce local development environment setup times and quickly onboard your developers so they can be productive right away. Docker Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you can easily create and start all the services from your configuration.
Organizations are increasingly adopting microservices because they not only want to replace their large monolithic applications, but they also want to enable faster app deployments and updates. Docker allows you containerize your microservices and simplify the delivery and management of those microservices. Containerization provides individual microservices with their own isolated workload environments, making them independently deployable and scalable. Docker Desktop and Docker Hub lets you standardize and automate the way you build, share, and run microservices-based applications across the organization.
As containers become the way to ship and run applications, one trend we’re seeing more of is organizations taking a “lift and shift” approach to moving their existing apps into containers. This initial step doesn’t mean that they’ll never be rearchitected and decomposed into microservices, but there’s immediate benefits that can be gained by just moving them over as-is. Using Docker to containerize your legacy apps come with a number of benefits. Development and test is more efficient, deployment and disaster recovery is greatly simplified, and you're able to run multiple instances of the app without conflicting with other apps.
One of the biggest challenges in machine learning (ML) development is the deployment of trained models in production and at scale. Docker simplifies both the development and deployment of ML applications utilizing platforms such as TensorFlow to enable GPU support. Setting up your development environment is as simple as a “Docker run” command for images that you create or that you download as a Docker Image from publishers on Docker Hub. Docker also makes it easy to distribute your ML application by spinning up containers across multiple machines or over the cloud and manage all of them collectively utilizing orchestration technology such as Kubernetes.
Developer productivity tools and a local Kubernetes environment
Cloud-based application registry and development team collaboration services.
Cloud-based docker environment to try out docker and learn the ropes.