Docker Enterprise 3.0 is the first Containers-as-a-Service platform to that extends from the developer's desktop to production. Docker Desktop Enterprise offers developers the ability to create container-based applications quickly and easily, even if they have little prior knowledge of Docker or Kubernetes. Developers on Windows 10 can create both Windows and Linux applications and developers on macOS can create Linux applications with Docker Desktop Enterprise. Application templates enable development managers, application architects, and security teams collaborate and create templates, enabling developers to quickly get started coding with pre-approved guardrails that follow company standards, while still allowing flexibility to innovate. Docker Enterprise is the first platform to support both Docker Swarm and Kubernetes orchestration and this also extends to developer desktops with Docker Desktop Enterprise, including the ability to ensure matching API versions through the use of Version Packs.
In this lab we'll use Docker Desktop Enterprise to create container-based applications locally. If you're also running the Docker Enterprise workshop you will have the opportunity to push these applications to the Docker Enterprise cluster using both Swarm and Kubernetes.
Suggested workshop order:
- Task 1 - Task XX in this workshop can be run as a standalone workshop using only Docker Desktop Enterprise.
- If running in conjunction with the Docker Enterprise workshop you can switch over and run Task 1 in that workshop to setup your Docker Enterprise environment.
- After completing Task 1 in the Docker Enterprise workshop you can return to this lab and complete Task XX - XX to push and deploy applications to your cluster.
System Requirements
You will need to have Docker Desktop Enterprise installed on your laptop with internet access in order to complete this lab. An XX-day evaluation license is included with the download of Docker Desktop Enterprise.
- Windows 10: Docker Desktop requires Hyper-V features in Windows 10 so you will need Windows 10 Pro or Enterprise to successfully install it.
- macOS: Docker Desktop requires macOS XX or later
- You will also need a code editor. Instructions here demonstrate the use of Visual Studio Code (vscode), but any code editor should work.
- No knowledge of the code syntax is assumed.
- Some steps demonstrate the use of Docker plugins in vscode; many code editors have Docker plugins available that should function similarly. The plugins are not required and the equivalent command will be given to complete the step.
Difficulty: Intermediate (assumes basic familiarity with Docker) If you're looking for a basic introduction to Docker, check out https://training.play-with-docker.com
Time: Approximately XX minutes
Introduction:
Tasks:
- Deploying to Docker Enterprise Clusters
- These tasks should be completed after completing Task 1 in the Docker Enterprise workshop
- Task 4: Connecting to Docker Enterprise UCP and DTR
- Task 5: Push to DTR
- Task 6: Deploy App to UCP
-
When you encounter a phrase in between
<
and>
you are meant to substitute in a different value.For instance if you see
<your email>
you would actually type something like[email protected]
JIM TO UPDATE -- Docker Enterprise provides an integrated, tested and certified platform for apps running on enterprise Linux or Windows operating systems and Cloud providers. Docker Enterprise is tightly integrated to the the underlying infrastructure to provide a native, easy to install experience and an optimized Docker environment. Docker Certified Infrastructure, Containers and Plugins are exclusively available for Docker Enterprise with cooperative support from Docker and the Certified Technology Partner.
JIM TO PROVIDE
A swarm is usually a group of machines that are running Docker and joined into a cluster. After that has happened, you continue to run the Docker commands you’re used to, but now they are executed on a cluster by a swarm manager. The machines in a swarm can be physical or virtual. After joining a swarm, they are referred to as nodes.
With Docker Desktop you have a single Docker node. Because it is a single node Swarm mode is not enabled by default but you can still enable Swarm mode if you want to test commands and features that are only available in Swarm mode, such as XX, XX...
In a multi-node clustered environment, Swarm mode uses managers and workers to run your applications. Managers run the swarm cluster, making sure nodes can communicate with each other, allocating applications to different nodes, and handling a variety of other tasks in the cluster. Workers are there to provide capacity to your applications. If you are completing the Docker Enterprise workshop along with these exercises you will have a remote cluster with one manager and three workers and later tasks will have you push images and deploy applications from your Docker Desktop system to the remote cluster.
Kubernetes is part of Docker Enterprise 3.0 in both Docker Desktop and Docker Enterprise clusters. Kubernetes deployments tend to be more complex than Docker Swarm, and there are many additional component types in Kubernetes. The Universal Control Plane (UCP) in Docker Enterprise clusters simplifies much of the complexities of using Kubernetes, but for those who want to use all that Kubernetes makes available Docker Enterprise provides a compliant - XX link to kube conformance page version of Kubernetes. We'll concentrate on Pods and Load Balancers in this workshop, but there's plenty more supported by UCP 2.XX.
Docker Desktop Enterprise comes pre-configured so there is usually very little that is required after install. We will explore some of the optional administration settings in this section.
- Show admin-settings.json (lockable settings)
- Windows location:
??
- Mac location:
/Library/Application\ Support/Docker
- Mac location:
- Windows location:
- Show dockerdesktop-admin tool
- Windows location:
??
- Mac location:
/Applications/Docker.app/Contents/Resources/bin
sudo ./dockerdesktop-admin --help
sudo ./dockerdesktop-admin app uninstall
to remove DDE and VPs (do not run!)
- Windows location:
- install a Version Pack with dockerdesktop-admin tool
sudo ./dockerdesktop-admin version-pack install <path to ddvp>
- Note that Desktop needs to be stopped to add a VP
Enabling Kubernetes in Docker Desktop only requires a single click.
NOTE: Offline mode is supported when enabling Kubernetes in Docker Desktop Enterprise.
- do not click the "make kube default for
stack deploy
commands - we will deal with this later
Congratulations! Docker Desktop is now ready for applications and can use either Swarm or Kubernetes. Next up we'll BLAH.
Buildkit is great because BLAH...JIM TO ADD
By default, Docker Desktop uses Build.XX. Buildkit is not required for any exercises in this workshop but we will go ahead and enable it so you can see it in action in case you want to explore advanced build actions on your own.
- Open daemon.json
{
"debug" : true,
"experimental" : false,
"features": { "buildkit": true }
}
- Confirm that you are setting the environmental variable DTR_HOST to the DTR hostname.
In this lab we've looked how Docker Enterprise can help you manage both Linux and Windows workloads whether they be traditional apps you've modernized or newer cloud-native apps, leveraging Swarm or Kubernetes for orchestration.
You can find more information on Docker Enterprise at http://www.docker.com as well as continue exploring using our hosted trial at https://dockertrial.com