Build Systems that Drive Business
June 11–12, 2018: Training
June 12–14, 2018: Tutorials & Conference
San Jose, CA

In-Person Training
Docker: Up & Running—Workshop edition

Sean Kane (New Relic)
Monday, June 11 & Tuesday, June 12, 9:00am - 5:00pm
2-Day Training Location: Almaden Ballroom 1
Average rating: *****
(5.00, 2 ratings)

Participants should plan to attend both days of this 2-day training course. Platinum and Training passes do not include access to tutorials on Tuesday.

Drawing on his book Docker: Up & Running, Sean Kane walks you through everything that you need to know to start using Docker successfully, from installing Docker and designing and building Docker images to deploying and managing Docker containers. You'll leave with a firm understanding of how containers can help you optimize your workflow.

What you'll learn, and how you can apply it

By the end of this two-day training, you’ll understand:

  • How to use Docker to streamline all the steps required to get software reliably from a single development workstation into production environments of any size

This training is for you because...

  • You're a software engineer who wants to understand Docker and improve the process that you use for developing, testing, and delivering software.
  • You're an operations engineer who wants to understand Docker and improve the reliability and security of your environment while simultaneously simplifying management and configuration.
  • You're a technical team lead who wants to understand Docker and use it to streamline your processes, improve repeatability, and significantly increase your ability to scale.

Hardware and/or installation requirements:

  • A laptop (Linux, macOS, or 64-bit Windows 10 Pro, Enterprise, or Education edition) with root/admin rights and sufficient resources to run a two-CPU virtual machine (CPU virtualization extensions must be enabled in your BIOS/EFI.)
  • Course tools and setup completed prior to the training (instructions)

In just a few years Docker and the broader ecosystem around containers have had a dramatic impact on how people build, deploy, and manage software at scale. Drawing on his book Docker: Up & Running, Sean Kane walks you through everything that you need to know to start using Docker successfully, from installing Docker and designing and building Docker images to deploying and managing Docker containers. Along the way, Sean details many of the conceptual aspects of working with containers. You’ll leave with a firm understanding of how containers can help you optimize your workflow and improve every step of the software pipeline.

Topics include:

  • History of containers and Docker
  • Installing Docker: Community Edition
  • Building Docker images
  • Running Docker containers
  • Docker Compose
  • Debugging Docker images and containers
  • Monitoring Docker containers
  • Managing container resources
  • Docker security
  • Automating the software pipeline
  • Docker Swarm
  • And more

About your instructor

Photo of Sean Kane

Sean Kane is the lead site reliability engineer at New Relic. A longtime system administrator and operations engineer, Sean has worked in a range of industry segments, including biotech, defense, entertainment, and hardware and software engineering in locations ranging from Alaska to Pakistan over his 20-year career. He’s the coauthor of Docker: Up and Running and provides Docker-related training with O’Reilly. In his spare time, Sean enjoys photography and sharing with his children the endless wonders of science, the great outdoors, and rappelling down skyscrapers. If you are looking for a conversation starter, Sean graduated from the Barnum & Bailey Clown College, completed two summer internships with the CIA, and built the first website in the state of Alaska, as well as the original USPS site.

Twitter for spkane

Conference registration

Get the Platinum pass or the Training pass to add this course to your package.

Comments on this page are now closed.

Comments

Andi Djunaedi | SR.PRINCIPAL SDE
06/11/2018 1:54am PDT

can invite me to the slack channel:
- andi.r.djunaedi@gdn-commerce.com

Picture of Sean Kane
Sean Kane | LEAD SITE RELIABILITY ENGINEER
06/10/2018 8:19am PDT

At this point it is probably better to utilize the Slack channel here ( https://oreillyonlinetraining.slack.com/messages/GAY9N7996 ) for discussion since we will be using that in class and it will be easier for classmates to follow along.

That being said, for `docker-machine` you need to use the driver that matches the virtualization technology that you have on your system. By default it uses, virtualbox, but that example is using VMware Worksation. If you do not own VMware Workstation then that will not work.

see: https://docs.docker.com/machine/get-started/
and: https://docs.docker.com/toolbox/toolbox_install_windows/

Raju Patel | SYSTEMS ENGINEER
06/10/2018 5:32am PDT

Thanks Sean. Followed the instructions in the URL you provided and this is where I am stuck now..

C:\Users\xsxp119>docker-machine —native-ssh create -d vmwareworkstation default

Creating CA: C:\Users\xsxp119\.docker\machine\certs\ca.pem
Creating client certificate: C:\Users\xsxp119\.docker\machine\certs\cert.pem
Running pre-create checks…
(default) Image cache directory does not exist, creating it at C:\Users\xsxp119\.docker\machine\cache…
(default) No default Boot2Docker ISO found locally, downloading the latest release…
(default) Latest release for github.com/boot2docker/boot2docker is v18.05.0-ce
(default) Downloading C:\Users\xsxp119\.docker\machine\cache\boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v18.05.0-ce/boot2
docker.iso…
(default) 0%….10%….20%….30%….40%….50%….60%….70%….80%….90%….100%
Creating machine…
(default) Copying C:\Users\xsxp119\.docker\machine\cache\boot2docker.iso to C:\Users\xsxp119\.docker\machine\machines\default\boot2docker.iso…
(default) Creating SSH key…
(default) Creating VM…
(default) Starting default…
(default) Waiting for VM to come online…
Error creating machine: Error in driver during machine creation: Machine didn’t return an IP after 120 seconds, aborting

Please advise.

Picture of Sean Kane
Sean Kane | LEAD SITE RELIABILITY ENGINEER
06/08/2018 8:29am PDT

Raju, It is not a show stopper, but it will make some things more challenging. You can try to look at something like this to get it working.

https://stefanscherer.github.io/yes-you-can-docker-on-windows-7/

Also, when your done with that, run this as well to install docker-compose:

choco install -y docker-compose

If you can get to the point that you can run `docker ps` and `docker-compose version` without any errors, then you should at least be in a place where you can get most of the important things in class to work.
Raju Patel | SYSTEMS ENGINEER
06/08/2018 1:46am PDT

For this Docker Workshop, it says the requirement is Win10. We have work laptops with Win7 image. will that be problem?

Rajat Ghosh | CEO
06/07/2018 12:45pm PDT

Ok, thanks for the feedback,

Picture of Sean Kane
Sean Kane | LEAD SITE RELIABILITY ENGINEER
06/07/2018 12:46am PDT

The class is definitely beginner friendly. It does not assume any experience with Linux Containers or Docker.

Rajat Ghosh | CEO
06/06/2018 3:45pm PDT

I was wondering if this course will be beginner friendly. Please comment.

Picture of Sean Kane
Sean Kane | LEAD SITE RELIABILITY ENGINEER
06/06/2018 10:17am PDT

VMs or cloud instances are often still used for things like Jenkins workers when needed, but building with containers helps improve isolation, reproducibility, and avoids the startup costs of virtual machines (when started for each job).

Picture of Sean Kane
Sean Kane | LEAD SITE RELIABILITY ENGINEER
06/06/2018 10:14am PDT

Stable is the best choice, but edge is probably fine as well (assuming there are no surprising bugs).

Andi Djunaedi | SR.PRINCIPAL SDE
06/01/2018 4:51pm PDT

I’m really interested in this part:
- Automating the software pipeline, how does it improve(speed,stability) build process in CI compared to using vm as the build servers.

Andi Djunaedi | SR.PRINCIPAL SDE
06/01/2018 3:00pm PDT

for docker-ce, should we use stable for edge version?