作者:半身风雪
上一节:Docker 核心知识点 可视化仪表盘
简介:本章我想写点不一样的文章,(云高考?不,只是两个文章写在了一块而已。)云原生,是趋势,高考,是不久久不变的话题,2022年的高考已经完结了,作为一个标准的90后,我想对高考的后的学子说:
文章目录
- 高考学子,我想对你说
- 一、Docker 应用程序示例
- 二、应用程序下载
- 三、构建应用程序的容器映像
- 四、运行应用程序容器
- 总结
高考学子,我想对你说
1、你有哪些印象深刻的高考记忆?
高考记忆不深,深的是那一个个备战的日夜,深的是那一个个为你助力的人。
2、你现在在做什么工作?你选择的专业对你的工作帮助大吗?
我目前的话从事的是移动开发领域的工作,从Java 开始,后来工作中学习了很多移动前端语言,当然,期间走了很多弯路。专业对于一个人的影响还是蛮大的,因为选的专业,学习的很多都是基础性的东西,虽然这些在后天的工作中也可以慢慢的去补充,但是无疑会花费你很长的时间去筑基,期间也会走很多的弯路。
3、如何利用好高考后的假期时间?
对于假期而言,很多人会选择去工作,去做兼职,去体验工厂或者是其他的生活,在此,我个人建议,不要去做兼职,工厂什么的,或许是过犹不及吧。高中三年,其实我们都错过了很多很多的东西,比如自己的爱好,比如自己曾经想做的事情,在此期间,我的建议是,放松,弥补这三年,我们错过的那些。
4、高考真的决定了你的未来了吗?你觉得高考能帮助一个人阶层跃升么?
高考真的会决定未来,不说进入顶级学府,不说进入985、211什么的,哪怕只是一个本科,就和大专或者是没有学历的人,就有很大的差别。举个最简单的例子,铁饭碗的报考门槛是本科学历,顶级学府出来的,参加统一笔试考试?那不存在,可以不用考。这么一说,有没有发现,差距很大?
5、什么样的学生适合计算机专业?
不断的求新,求知,能顶压力的人,有野心的人。(突然发现,我是来劝退的)
6、在高考结束之后自学计算机,有什么好的学习方法?
基础,先学基础,什么编程思想,设计模式,C,Java基础等等,学习,永远是基础最重要
7、对于今年的高考生,你有什么想说的?你当时对于工作有哪些现在看
其实对于高考生,我想说的东西,在上面都已经说完了,关于工作,不是你们现在所要追求的。未来很长,充满一切可能,唯独不能缺的,就是知识,这个时代,不是再是那些各种红利的时代,而是科技的时代,这些东西,都需要知识的支撑。如果你考上了理想中的学校,不要骄傲,求知的路很长。如果你落榜,不要气馁,再来一次只会让自己更好。
8、来完全错误的想象?你建议大学生应该做什么,不应该做什么?
有人说,进入大学之后,就可以放松了,其实不然,大学只是一个开始,各个社团,帮你了解各行各业,推开的是一扇扇的门。此期间,更多的就是加入各个社团,认识一批又一批的人,不断的学习,找到自己的方向。如果你只想蹲在宿舍打游戏,那么你未来的毕业,就是失业。
一、Docker 应用程序示例
在本教程的其余部分,我们将使用在Node.js中运行的简单待办事项列表管理器。如果你不熟悉Node.js,没有关系。不需要真正的JavaScript经验。
我们只是构建一个应用程序来学习MVP(最低可行产品)。学习它是如何工作的,以及它能够做什么。
二、应用程序下载
在我们运行应用程序之前,我们需要将应用程序源代码发送到我们的机器上。对于真正的项目,您通常会使用Git,SVN 什么的。但是,对于本章,我们创建了一个包含该应用程序的ZIP文件。
- 下载应用程序内容。你可以拉取整个项目,也可以将其下载为zip,然后提取应用程序文件夹以开始使用。
- 提取后,使用你最喜欢的代码编辑器打开项目。如果你需要编辑器,您可以使用Visual Studio Code, 或者 Ide。你应该会看到package.json和两个子目录(src和spec)。
三、构建应用程序的容器映像
为了构建应用程序,我们需要使用Dockerfile
。Dockerfile只是一个基于文本的指令脚本,用于创建容器映像。如果您以前创建过Dockerfiles,你可能会在下面的Dockerfile中看到一些缺陷。但是,别担心。我们会检查它们。
1、在与文件package.json
相同的文件夹中创建一个名为Dockerfile
的文件,其中包含以下内容。
syntax=docker/dockerfile:1
FROM node:12-alpine
RUN apk add --no-cache python2 g++ make
WORKDIR /app
COPY . .
RUN yarn install --production
CMD [“node”, “src/index.js”]
EXPOSE 3000
请检查文件Dockerfile
没有像.txt
文件扩展名。一些编辑器可能会自动附加此文件扩展名,这将导致下一步出现错误。
2、也可以直接打开终端,然后使用Dockerfile
转到app
目录。现在使用docker build
命令构建容器映像。
$ docker build -t getting-started .
此命令使用Dockerfile构建新的容器映像。可能你已经注意到下载了很多“层”。这是因为我们指示构建者,我们希望从node:12-alpine
图像开始。但是,由于我们的机器上没有这个,所以需要下载该图像。
下载图像后,我们在应用程序中复制,并使用yarn
安装应用程序的依赖项。CMD
指令指定从此映像启动容器时要运行的默认命令。
最后,-t
标志标记了我们的图像。把它简单地想象成最终图像的人类可读名称。由于我们命名了getting-started
图像,我们可以在运行容器时引用该图像。
docker build
命令末尾的 .
告诉Docker,它应该在当前目录中查找Dockerfile
。
四、运行应用程序容器
现在我们有了图像,让我们运行应用程序。为此,我们将使用docker run
命令(还记得之前的吗?)。
1、使用docker run
命令启动容器,并指定我们刚刚创建的映像的名称:
$ docker run -dp 3000:3000 getting-started
还记得-d和-p
标志吗?我们正在“分离”模式(在后台)运行新容器,并在主机的端口3000到容器的端口3000之间创建映射。如果没有端口映射,我们将无法访问该应用程序。
2、几秒钟后,打开网页浏览器进入http://localhost:3000
。你应该看看我们的应用程序。
3、继续添加一两个项目,看看它是否和你想的一样。可以将项目标记为完整并删除项目。你的前端已成功将项目存储在后端。相当快速和容易,是吗?
此时,你应该有一个正在运行的待办事项列表管理器,其中包含一些项目,全部由你构建。现在,让我们做一些更改,并了解如何管理我们的容器。
如果你快速查看Docker仪表板,你应该会看到两个容器现在正在运行(本教程和你新推出的应用程序容器)。
总结
在这个简短的部分中,我们学习了构建容器映像的基础知识,并为此创建了一个Dockerfile。一旦我们构建了映像,我们启动了容器并看到了正在运行的应用程序。