Prática de Shadowing: What is Docker? Docker container concept explained || Docker Tutorial 1 - Aprenda a falar inglês com vídeo

Criando lição...
1
Hello and welcome to Kubernetes tutorial.
2
Kubernetes is an open source technology developed by Google in order to make orchestrating containerized applications easier.
3
That's why an official definition of Kubernetes is actually a container orchestration tool.
4
So as you can see, containers are the base part of Kubernetes technology.
5
So if you want to learn Kubernetes, you first have to understand what a container is and why we use them.
6
So in this video series, we'll talk about container concepts and one of its most popular implementations, which is Docker.
7
So we'll talk about what a container is and what problems it solves.
8
We will also look at a container repository, which is basically a storage for containers.
9
We'll see how a container can actually make the development process much easier
10
and more efficient and also how they solve some of the problems that we have in the deployment process of applications.
11
So let's dive right into it.
12
What a container is a container is a way to package applications with everything they need inside of that package,
13
including the dependencies and all the configuration necessary.
14
And that package is portable, just like any other artifact is,
15
and that package can be easily shared and moved around between a development team or development and operations team.
16
And that portability of containers plus everything packaged in one isolated environment gives it some of the advantages
17
that makes development and deployment process more efficient.
18
And we'll see some of the examples of how that works in later slides.
19
So as I mentioned, containers are portable, so there must be some kind of a storage for those containers so that you can share them and move them around.
20
So containers leave in a container repository.
21
This is a specific this is a special type of storage for containers.
22
Many companies have their own private repositories where they host or the way they store all the containers.
23
And this will look something like this where you you can push all of the containers that you have.
24
But there is also a public repository for Docker containers where you can browse
25
and probably find any application container that you want.
26
So let's head over to the browser and see how that looks like.
27
So if I here search for a doctor hub which is the name of the public repository for Docker, I will see this official website.
28
So here if you scroll down,
29
you see that there are more than 100,000 container images of different applications hosted or stored in this repository.
30
So here you see just some of the examples and for every application there is this official Docker container container image.
31
But if you are looking for something else, you can search it here.
32
And I see there is an official image for Jenkins.
33
There's also a lot of non official images or container images that developers or or even from Jenkins itself.
34
They actually store it here.
35
So public repository is where you usually get started when you're using
36
or when you're starting to use the containers where you can find any application image.
37
So now let's see how containers improve the development process by specific examples.
38
How did we develop applications before the containers?
39
Usually when you have a team of developers working on some application,
40
you would have to install most of the services on your operating system directly.
41
Right.
42
For example, you are developing, developing some JavaScript application and you need a Postgres QL and you need Redis for messaging.
43
And every developer in the team would then have to go and install the binaries of those services and.
44
Configure them and run them on their local development environment and.
45
depending on which operating system they using, the installation process will look actually different.
46
Also, another thing with installing services like this is that you have multiple steps of installation.
47
So you have a couple of commands that you have to execute
48
and the chances of something going wrong and error happening is actually pretty high because
49
because of the number of steps required to install each service. And this.
50
And this approach
51
or this process of setting up a new environment can actually be pretty tedious depending on how complex your application is.
52
For example, if you have 10 services that your application is using, then you would have to do that 10 times on in each operating system environment.
53
So now let's see how containers solve some of these problems with containers.
54
You actually do not have to install any of the services directly on your operating system
55
because the container is its own isolated operating system layer with Linux base image as we saw in the previous slides,
56
you have everything packaged in one isolated environment.
57
So you have the Postgres QL with a specific version packaged with the configuration and the start script inside of one container.
58
So as a developer, you don't have to go and look for the binaries to download on your machine,
59
but rather you just go ahead and check out the container repository to find
60
that specific container and download on your local machine.
61
And the download step is just one Docker command which fetches the container and starts it at the same time.
62
And regardless of which operating system you're on, the command, the Docker command for starting the container will not be different.
63
It will be exactly the same.
64
So we have ten applications that your that your JavaScript application uses and depends on.
65
You would just have to run ten Docker commands for each container and that will be it.
66
Which makes the setting up your local development environment actually much easier and much more efficient than the previous version.
67
Also, as we saw in the demonstration before,
68
you can actually have different versions of the same application running on your local environment without having any conflict.
69
So now let's see how containers can improve the deployment process before the containers.
70
A traditional deployment process will look like this developer development team
71
will produce artifacts together with set of instructions of how to actually install and configure those artifacts on the server.
72
So you would have a jar file or something similar for your application.
73
And in addition, you would have some kind of a database service
74
or some other service also with a set of instructions of how to configure and set it up on the server.
75
So development team would give those artifacts over to the operations team
76
and the operation team will handle setting up the environment to deploy those applications.
77
Now the problem with this kind of approach is that, first of all, you need to configure everything and install everything directly on the operating system,
78
which we saw in the previous example
79
that could actually lead to conflicts with dependency versions and the services running on the same host.
80
Another problem that could arise from this kind of process is when there is misunderstanding between the development team and operations.
81
Because everything is in a textual guide,
82
there could be cases where developers miss to mention some important point about configuration.
83
And when that fails, the operations team have to go back to the developers and ask for more details.
84
And this could lead to some back and forth communication until the application is successfully deployed on the server.
85
With containers, this process is actually simplified.
86
Because now you have the developers
87
and operations working in one team to package the whole configuration dependencies inside the application just as we saw previously.
88
And since it's already encapsulated in one environment, you don't have to configure any of this directly on the server.
89
So the only thing you need to do is
90
run a Docker command that pulls that container that you stored somewhere in the repository and then runs it.
91
And that makes the process.
92
This is, of course, a simplified simplified version, but then makes exactly the problem that we saw on the previous slide much more easier.
93
No environmental configuration needed on the server.
94
The only thing, of course, you need to do is you have to prepare,
95
you have to install and set up the Docker runtime on the server before you will be able to run containers there.
96
But that's just one time effort.
97
And later in this tutorial, we will also see how Kubernetes actually offers even more abstraction
98
of the deployment environment to make the deploying of super complex
99
applications much much easier than it was possible with the traditional approach.
100
have any questions if something wasn't clear in the video please post them in the comment section below
101
and I will try to answer them.
102
So thank you and see you in the next video.

Sobre Esta Aula

Nesta aula, você aprenderá sobre o conceito de contêineres no contexto do desenvolvimento de aplicativos. Discutiremos o que são contêineres, como funcionam e quais problemas eles ajudam a resolver no processo de desenvolvimento e implantação de software. Uma ênfase importante será na portabilidade dos contêineres e em como eles podem facilitar a colaboração entre equipes de desenvolvimento e operações. Além disso, você terá a oportunidade de praticar sua pronúncia em inglês enquanto explora o vocabulário técnico utilizado nesta área.

Vocabulário e Frases-Chave

  • Contêiner - Uma unidade que embala uma aplicação junto com todas as suas dependências.
  • Repositório de Contêineres - Um armazenamento específico para contêineres, que podem ser públicos ou privados.
  • Portabilidade - A capacidade de mover contêineres facilmente entre diferentes ambientes.
  • Ambiente Isolado - Um espaço onde os contêineres operam sem interferir em outros processos.
  • Implantação - O processo de disponibilizar uma aplicação em um ambiente de produção.
  • Desenvolvimento Colaborativo - A prática de equipes trabalharem juntas em um projeto, facilitada por contêineres.
  • Serviços - Componentes necessários para a operação de uma aplicação, como bancos de dados.

Dicas de Prática

Para melhorar sua pronúncia em inglês, recomendamos a técnica de shadowing em inglês. Ouça atentamente o ritmo e a entonação do conteúdo deste vídeo e tente imitar o que ouve. Preste atenção à velocidade da fala, que pode ser rápida em algumas partes, então, comece devagar e aumente a velocidade conforme se sentir mais confortável.

Concentre-se nas palavras-chave mencionadas, como “contêiner” e “portabilidade”. Repita as frases em voz alta várias vezes para praticar a fluência e a pronúncia correta. A prática de shadow speech com esse tipo de conteúdo ajuda a internalizar a estrutura das frases e melhora não apenas sua compreensão, mas também sua capacidade de se comunicar de forma clara e eficaz em inglês.

O que é a Técnica de Shadowing?

Shadowing é uma técnica de aprendizado de idiomas com base científica, originalmente desenvolvida para o treinamento de intérpretes profissionais. O método é simples, mas poderoso: você ouve áudio em inglês nativo e repete imediatamente em voz alta — como uma sombra seguindo o falante com 1-2 segundos de atraso. Pesquisas mostram melhora significativa na precisão da pronúncia, entonação, ritmo, sons conectados, compreensão auditiva e fluência na fala.