跟读练习: 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”,这是一种典型的条件句结构,可以帮助您进行假设性讨论。
- 名词短语构建: “盛装所有依赖关系的包及所有必要的配置”展示了如何使用名词短语详细描述事物,这对提高描述的准确性非常重要。
- 动词时态的变化: 常见于视频中的动词使用,例如“打包”和“分享”。了解不同时态的转换对您口语的提高有很大帮助。
常见发音陷阱
在视频中,有一些词汇可能会引起发音上的困难。例如,“container”这个词在不同的地区可能会有不同的口音,而“repository”这个词由于音节较多,初学者可能会发音不清。您可以在观看视频时,反复练习这些词汇的发音并进行英语影子跟读,这将使您在日常交流中更加自信。在视频讲解中,努力模仿主持人的语调和节奏将有助于您更好地掌握这些发音。通过这样的方法,您能在与他人讨论技术问题时,展示良好的英语交流能力。
什么是跟读法?
跟读法 (Shadowing) 是一种有科学依据的语言学习技巧,最初开发用于专业口译员的培训,并由多语言者Alexander Arguelles博士普及。这个方法简单而强大:您在听英语母语原声的同时立即大声重复——就像是一个延迟1-2秒紧跟说话者的影子。与被动听力或语法练习不同,跟读法强迫您的大脑和口腔肌肉同时处理并模仿真实的讲话模式。研究表明它能显着提高发音准确性,语调,节奏,连读,听力理解和口语流利度——使其成为雅思口语备考和真实英语交流最有效的方法之一。