シャドーイング練習: 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のコンテナの概念について学びます。また、開発プロセスの効率を高める方法や、コンテナのポータビリティについても触れます。特に、開発者がどのようにアプリケーションを開発する際にコンテナを利用するかについて詳しく説明します。学習者は、コンテナの利点やその仕組みを理解し、英語スピーキング練習を通じてこれらの概念をより深く掘り下げることができるでしょう。

重要な語彙とフレーズ

  • コンテナ (Container): アプリケーションとその依存関係をまとめてパッケージ化する方法。
  • リポジトリ (Repository): コンテナを保存して共有する特別なストレージ。
  • ポータビリティ (Portability): コンテナが容易に移動され、共有できる特性。
  • 開発プロセス (Development Process): アプリケーションを作成する際の一連の手順。
  • 依存関係 (Dependencies): アプリケーションが正常に動作するために必要な他のソフトウェアやサービス。
  • アプリケーションイメージ (Application Image): 特定のアプリケーションのコンテナのテンプレート。

練習のヒント

YouTubeで英語学習をする際には、特に動画のスピードとトーンに注意して発音練習を行うことが重要です。例えば、このビデオの中で話される内容を確認し、その後、自分でも声に出して繰り返してみましょう。こうしたshadow speechのテクニックを用いることで、自然なリズムとイントネーションを身につけることができます。また、特に難しいフレーズや単語があれば、何度も繰り返して練習し、英語スピーキング練習を強化してください。shadowspeaksを意識し、自分の声を録音して聞き返すことで、発音の改善点を見つけやすくなります。この方法を繰り返すことで、確実にスピーキングスキルが向上するでしょう。

シャドーイングとは?英語上達に効果的な理由

シャドーイング(Shadowing)は、もともとプロの通訳者養成プログラムで開発された言語学習法で、多言語習得者として知られるDr. Alexander Arguelles によって広く普及されました。方法はシンプルですが非常に効果的:ネイティブスピーカーの英語を聞きながら、1〜2秒の遅延で声に出してすぐに繰り返す——まるで「影(shadow)」のように話者を追いかけます。文法ドリルや受動的なリスニングと異なり、シャドーイングは脳と口の筋肉が同時にリアルタイムで英語を処理・再現することを強制します。研究により、発音精度、抑揚、リズム、連音、リスニング力、そして会話の流暢さが大幅に向上することが確認されています。IELTSスピーキング対策や自然な英語コミュニケーションを目指す方に特におすすめです。