Click here to Skip to main content
15,064,806 members
Articles / Containers / Docker
Article
Posted 31 Mar 2021

Tagged as

Stats

2.7K views
1 bookmarked

A Brief Docker Overview

Rate me:
Please Sign up or sign in to vote.
3.36/5 (4 votes)
31 Mar 2021CPOL3 min read
In this article, I’ll talk about Docker containers.
Here I’ll give a brief intro about Docker Containers before jumping into how to train your models in Google AI Platform.

Deep fakes - the use of deep learning to swap one person's face into another in video - are one of the most interesting and frightening ways that AI is being used today.

While deep fakes can be used for legitimate purposes, they can also be used in disinformation. With the ability to easily swap someone's face into any video, can we really trust what our eyes are telling us? A real-looking video of a politician or actor doing or saying something shocking might not be real at all.

In this article series, we're going to show how deep fakes work, and show how to implement them from scratch. We'll then take a look at DeepFaceLab, which is the all-in-one Tensorflow-powered tool often used for creating convincing deep fakes.

In the previous article, I showed how to build, train, and implement autoencoders for deep fake creation. In this article, I’ll talk about Docker containers.

Docker is a widely used platform for developing, shipping and running apps. It’s written in Go and uses some principles from the Linux Kernel to deliver all the functionality that it can provide. Its major advantage is that it allows you to deliver software extremely quickly due to not having to worry about the underlying infrastructure. With Docker you can package and run any app in an isolated environment called a container, which is portable, very lightweight, and flexible.

Docker Architecture

Docker is based on the classic client-server architecture that most of us are familiar with. From their documentation, the Docker architecture is illustrated like this:

Image 1

Let’s break down the image from above: the Docker daemon handles almost everything in this architecture. It manages the Docker API requests, as well as objects like images, containers and many other elements. Its flexibility allows it to communicate with other daemons. This to manage services in common.

On the other side, the Docker client allows you to interact with Docker through some commands that are sent to the daemon via the API. The Docker registry stores images that will be used to build containers later on, and a publicly available registry is Docker Hub, which is the default place that Docker uses to look for images when you try to pull one of these.

Docker images are simply templates used to build Docker containers. Regularly you’ll find images based on other images. For example, there could be a Docker image based on Ubuntu that’s been customized to be lightweight and have only the components necessary to make your application run.

Finally, Docker containers are small isolated environments, which are a runnable version of their images. They have everything required to be independent from the underlying host and any other container. There are several types of containers and their usage is totally defined by their image, but generally speaking you can customize whatever you want from them and therefore run anything you want on top of them.

For now, I need you to know that a Docker container is built from guidelines provided in Dockerfile, which contains some commands that specify how the container should be built.

I invite you to go and check out their documentation so you understand Docker in depth. In the next article I’ll show you how to train your deep fake models in the cloud with some help from Docker.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Sergio Virahonda
United States United States
Sergio Virahonda grew up in Venezuela where obtained a bachelor's degree in Telecommunications Engineering. He moved abroad 4 years ago and since then has been focused on building meaningful data science career. He's currently living in Argentina writing code as a freelance developer.

Comments and Discussions

 
GeneralMy vote of 2 Pin
Сергій Ярошко1-Apr-21 3:20
professionalСергій Ярошко1-Apr-21 3:20 
GeneralRe: My vote of 2 Pin
Ryan Peden15-Apr-21 16:52
staffRyan Peden15-Apr-21 16:52 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.