The best way to learn Docker for Free: Play-With-Docker (PWD)

Last year at the Distributed System Summit in Berlin, Docker captains Marcos Nils and Jonathan Leibiusky started hacking on an in-browser solution to help people learn Docker. A few days later, Play-with-docker (PWD) was born. 

PWD is a Docker playground which allows users to run Docker commands in a matter of seconds. It gives the experience of having a free Alpine Linux Virtual Machine in browser, where you can build and run Docker containers and even create clusters in Docker Swarm Mode. Under the hood Docker-in-Docker (DinD) is used to give the effect of multiple VMs/PCs. In addition to the playground, PWD also includes a training site composed of a large set of Docker labs and quizzes from beginner to advanced level available at training.play-with-docker.com.

In case you missed it, Marcos and Jonathan presented PWD during the last DockerCon Moby Cool Hack session. Watch the video below for a deep dive into the infrastructure and roadmaps.

Over the past few months, the Docker team has been working closely with Marcos, Jonathan and other active members of the Docker community to add new features to the project and Docker labs to the training section.

PWD: the Playground

Here is a quick recap of what’s new with the Docker playground:

 

1.     PWD Docker Machine driver and SSH

As PWD success grew, the community started to ask if they could use PWD to run their own Docker workshops and trainings. So one of the first improvements made to the project was the creation of PWD Docker machine driver, which allows users to create and manage their PWD hosts easily through their favorite terminal including the option to use ssh related commands. Here is how it works:

Play with docker

 

2.     Adding support for file upload

Another cool feature brought to you by Marcos and Jonathan is the ability to upload your Dockerfile directly into your PWD windows with a simple drag and drop of your file in your PWD instance.

Pwd upload 1

3.     Templated session

In addition to file upload, PWD also has a feature which lets you spin up a 5 nodes swarm in a matter of seconds using predefined templates.

Play with docker

 

4.      Showcasing your applications with Docker in a single click

Another cool feature that comes with PWD is its embeddable button that you can use in your sites to set up a PWD environment and deploy a compose stack right away and a chrome extension that adds the “Try in PWD” button to the most popular images in DockerHub. Here’s a short demo of the extension in action:

PWD: the Training Site

 A number of new labs are available on training.play-with-docker.com. Some notable highlights include two labs that were originally hands-on labs from DockerCon in Austin, and a couple that highlight new features that are stable in Docker 17.06CE:

All in all, there are now 36 labs, with more being added all the time. If you want to contribute a lab, check out the GitHub repo and get started.

PWD: the Use Cases

With the traffic to the site and the feedback we’ve received, it’s fair to say that PWD has a lot of traction right now. Here are some of the most common use-cases:

  • Try new features fast as it’s updated with the latest dev versions.
  • Set up clusters in no-time and launch replicated services.
  • Learn through it’s interactive tutorials: training.play-with-docker.com.
  • Give presentations at conferences and meetups.
  • Allow to run advanced workshops that’d usually require complex setups, such as Jérôme’s advanced Docker Orchestration workshop
  • Collaborate with community members to diagnose and detect issues.

Get involved with PWD: