쉐도잉 연습: What is Docker? Docker container concept explained || Docker Tutorial 1 - 영상으로 영어 말하기 배우기

레슨 만드는 중...
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.

맥락 및 배경

이번 비디오는 Docker 컨테이너의 개념을 설명하는 튜토리얼입니다. 설명자는 Kubernetes라는 오픈소스 기술에 대해 이야기하며, Kubernetes가 컨테이너화된 애플리케이션을 쉽게 조정할 수 있도록 돕는 도구라는 점을 강조합니다. Docker는 이런 컨테이너 기술의 한 대표적인 구현 사례입니다. 이 비드를 통해 컨테이너가 무엇인지, 왜 사용하는지 그리고 개발 및 배포 프로세스를 어떻게 간소화하는지를 논의합니다. 이러한 주제는 영어 회화 연습을 통해 이해하고 소화할 수 있는 훌륭한 기회를 제공합니다.

일상적 의사소통을 위한 5가지 주요 구문

  • "What is a container?" - 컨테이너가 무엇인지 이해하는데 도움이 됩니다.
  • "Portability of containers" - 컨테이너의 이동성과 이점을 알 수 있습니다.
  • "Container repository" - 컨테이너 저장소에 대해 설명하는 구문입니다.
  • "Development process" - 개발 프로세스를 설명할 때 유용합니다.
  • "Deployment process" - 배포 과정의 문제를 설명할 때 사용합니다.

단계별 섀도잉 가이드

이 비디오에서 배운 내용을 보다 효과적으로 습득하기 위해서는 다음의 단계를 따르는 것이 좋습니다. 섀도잉 사이트를 통해 비디오를 반복적으로 시청하면서 발음과 억양을 연습하세요.

  1. 비디오 시청: 처음에 전체 비디오를 한번 시청하여 주제를 이해합니다.
  2. 한 구문씩 반복하기: 비디오의 특정 구문을 일시 정지하고 그 부분을 따라 하면서 발음을 교정합니다. 영어 발음 교정에 집중하세요.
  3. 맥락 이해: 각 구문이 언급된 맥락을 이해하고, 자신의 상황에 맞게 재구성해 봅니다.
  4. 복습과 반복: 전체 비디오를 다시 시청하면서 섀도잉 기법을 적용합니다. 발음과 억양에 유의하여 연습하세요.
  5. 자신의 말로 설명하기: 비디오에서 배운 내용을 바탕으로 친구나 가족에게 설명해 보세요. 그렇게 함으로써 영어 회화 연습이 자연스럽게 이루어질 수 있습니다.

이러한 과정을 통해 유튜브 영어 공부에 더욱 몰입하고, 성과를 더욱 쉽게 체감할 수 있을 것입니다. shadowspeak 기법을 활용하여 자신의 발음을 지속적으로 개선해 보세요!

쉐도잉이란? 영어 실력을 빠르게 키우는 과학적 방법

쉐도잉(Shadowing)은 원래 전문 통역사 훈련을 위해 개발된 언어 학습 기법으로, 다언어 학자인 Dr. Alexander Arguelles에 의해 대중화된 방법입니다. 핵심 원리는 간단하지만 매우 강력합니다: 원어민의 영어를 들으면서 1~2초의 짧은 지연으로 즉시 소리 내어 따라 말하는 것——마치 '그림자(shadow)'처럼 화자를 따라가는 것입니다. 문법 공부나 수동적인 청취와 달리, 쉐도잉은 뇌와 입 근육이 동시에 실시간으로 영어를 처리하고 재현하도록 훈련합니다. 연구에 따르면 이 방법은 발음 정확도, 억양, 리듬, 연음, 청취력, 말하기 유창성을 크게 향상시킵니다. IELTS 스피킹 준비와 자연스러운 영어 소통을 원하는 분들에게 특히 효과적입니다.