Docker is a tool used to develop, run, and ship containers. It’s an essential part of every data professional’s toolbelt, helping to create robust, secure, and scalable applications or workflows. In this course, you’ll become a Docker pro, gaining hands-on experience using Docker CLI. Learn the Docker basics and understand how to create and manage containers using Dockerfiles and instructions. After an introduction to containers and when they are useful, you’ll learn the Docker terminology and get hands-on experience with Docker commands using the Docker Command Line Interface. As you progress, you’ll learn how to create and manage Docker containers using Dockerfiles and Dockerfile instructions. To wrap up, you’ll learn Docker image security best practices to make your images safe and secure.
What is Docker?Free
You’ll start this course with an introduction to containers, what they are, their uses, and their advantages. You'll learn about Docker Engine, Docker’s tool to create, run and manage containers. Then you’ll learn the difference between a container and an image and compare containers and virtual machines, learning about their differences.Containers and their advantages50 xpWhat is included in a container?50 xpAdvantages of containers100 xpThe Docker Engine50 xpWhich parts does the Docker Engine consist of?50 xpContainers and images50 xpContainers are like processes100 xpContainers vs. Virtual Machines50 xpWhat is virtualization?50 xpHow do containers and virtual machines relate?50 xpPick the right properties100 xp
Using Docker Containers
In chapter 2, you'll go from starting and stopping your first container to seeing how to clean your environment by removing all containers and images. You'll see how to debug issues by running commands inside a container or executing bash commands in a container interactively. Afterward, you'll know how to share images with colleagues or your entire company. All of this using the Docker Command Line Interface.Running Docker containers50 xpRunning your first container100 xpRunning a container in the background100 xpStopping a container50 xpAn interactive container50 xpWorking with Docker containers50 xpWhat is my container doing?50 xpHelping a colleague100 xpCleaning up containers100 xpManaging local docker images50 xpPulling your first image100 xpPulling a specific tag100 xpCleaning up images100 xpDistributing Docker Images50 xpSharing your work using a Docker registry100 xpSaving an image to a file100 xpReceiving Docker Images100 xp
Writing Your Own Docker Images
Once you are able to manage images and containers, it’s time to create your own. In chapter 3, you’ll build your own images using Dockerfiles. Dockerfiles are text files that include everything needed for Docker to build an image. You’ll learn how to create images and will get an introduction to all the essential Dockerfile instructions like FROM, RUN, COPY, and more. By the end of this chapter, you’ll have insight into how Docker makes images and be able to create optimized Docker images from scratch.Creating your own Docker images50 xpBuilding your first image100 xpWorking in the command-line100 xpEditing a Dockerfile100 xpCreating your own Dockerfile100 xpManaging files in your image50 xpCopying files into an image100 xpCopying folders100 xpWorking with downloaded files100 xpChoosing a start command for your Docker image50 xpOverriding the default command50 xpAdding a CMD100 xpIntroduction to Docker caching50 xpDocker caching50 xpOrdering Dockerfile instructions100 xp
Creating Secure Docker Images
In this final chapter, you’ll focus on making your Dockerfiles configurable and secure. You'll learn how to make your Dockerfiles configurable using the ARG and ENV instructions. You’ll see why changing the user in your images makes them more secure and how to use the USER Dockerfile instruction to do so. To wrap things up, you’ll learn about some essential security best practices when creating Docker Images.Changing users and working directory50 xpWORKDIR and USER50 xpSetting the user100 xpSetting the working directory100 xpVariables in Dockerfiles50 xpUnderstanding ARG and ENV50 xpOverriding ARG in a build100 xpChanging behavior when starting a container100 xpCreating Secure Docker Images50 xpSecurity best practices50 xpKeeping packages up-to-date50 xpBe safe, don't use root100 xpWrap-up50 xp
Tim SangsterSee More
Full Stack Software Engineer
Tim is a Full Stack Software Engineer at DataCamp. Tim leads the Content Platform team, enabling new technologies on the platform and building the software that lets instructors create great DataCamp courses. Tim holds a degree in Electrical Engineering.