打算在学校开课讲 Docker,大家有啥建议没有?

2016-04-29 15:07:56 +08:00
 xiqingongzi

打算在校内开展 Docker 课程

我个人是打算讲些 Docker 的优势,然后就是 Docker 容器的基础应用。

我觉得我主要是引起兴趣,更多还是同学们能够有兴趣自己去研究

6836 次点击
所在节点    程序员
62 条回复
Rorysky
2016-04-29 17:28:51 +08:00
Docker 和 Vagrant 有何异同?
ayaseangle
2016-04-29 17:31:27 +08:00
只能是选秀或者课外活动。。。本科还是以基础科学为主。
elya
2016-04-29 18:17:13 +08:00
你安装一次 Discourse ,啥都体验了
xiqingongzi
2016-04-29 18:49:49 +08:00
@ayaseangle 是啊
@Rorysky Vagrant 如果我没记错是基于 Vbox 的。 Vbox 是系统虚拟化。 Docker 更多是进程虚拟化
@elya 学生们并不知道 Discourse
popu111
2016-04-29 19:12:59 +08:00
个人感觉这种东西没啥好讲的,还是实♂干的好
yangxin0
2016-04-29 19:17:15 +08:00
还不如多开一门数学课,统计、概率论、数论, docker 这些都是纸老虎如果真要用花一两小时看看文档就可以了。
wph95
2016-04-29 19:20:12 +08:00
楼上那位讲的是不错,不过那内容你确定是给普遍的大学学生讲的?
你跟同学讲微服务架构?
---
作为一个大二狗,我认为应该这样。
首先表演了快速部署一个博客。 docker pull ghost & docker run ...
给大家树立 docker 的初印象,快,方便。
然后引导大家将自己的小项目 docker 化。足够给学生们种下种子了。

讲 Aufs Cgroups. Namespace ? 那就不是通过上课来教的了 && Aufs 已经属于淘汰边缘
xcodebuild
2016-04-29 19:21:44 +08:00
支持,对有用的人会很有用的,我一直很感谢大一的时候学长给我们介绍 Github 。

(当然对没用的人来说仍然没什么用、、、
xiqingongzi
2016-04-29 19:25:26 +08:00
@codefalling 一直觉得版本控制是大学必学的课程。特别是这些开源社区,非常重要。
@yangxin0 哈,基础的是不少了。虽然是纸老虎,但是我接触到太多的学生甚至不知道这个老虎。
@wph95 这个是打算做。不过可能会参考 @qfdk 的路线,基础的 Docker 基础让学生自己去查,我在课程上进行简单的说明。然后就是先做实例吸引他们上兴趣。然后就是带他们做小的项目的 Docker 化,逐步引导。我更喜欢让他们自己研究。
@popu111 实干的前提是让他们知道这东西。三线城市的小学校,关注不到
qfdk
2016-04-29 19:34:02 +08:00
@xiqingongzi 不是那个意思 1 2 3 都是给学生做的 你的任务只是在他们碰壁的时候去伸出援手 让同学自己讲课. 我们现在的策略一直这样 学生上台讲课 😛 老师挺轻松 老师就是帮助梳理一下 项目中可能遇到的问题
@wph95 看第二点 wp 是让同学自己动手演示 老师只是指导 😄
qfdk
2016-04-29 19:35:56 +08:00
@xiqingongzi 车上颠簸没看仔细 不好意思哈 误解了
wph95
2016-04-29 19:37:24 +08:00
@xiqingongzi 我还是建议 “项目驱动开发”
到业务复杂到一定程度,他就自然去研究微服务化了。
docker 的坑在 网络 存储 和 调度。
反正都碰不到。
xiqingongzi
2016-04-29 19:37:30 +08:00
@qfdk 嗯,不过我这边的学生水平一般,前期我还是要多引导。
xiqingongzi
2016-04-29 19:38:46 +08:00
@wph95 项目驱动研发是正常的。但是目前来说,不指望他们能直接上手开发,他们目前很多人对开发都是初步开始接触。他们目前很多地方还是不清楚。甚至我们觉得普通的 Linux ,他们目前基础都很差。
qfdk
2016-04-29 19:45:14 +08:00
@xiqingongzi 其实最有趣的还是第三点 , 用🐳docker 模拟出来负载均衡的环境, 再写一个 shell 脚本模拟不同的服务器宕机 重启. 这样即学习了主流架构又可以模拟出生产的状况 linux 下的服务器运维 以及对英文的阅读能力 . 搞计算机的这些不会 不大靠谱了. 学生自己讲课还能锻炼语言表达能力 以后跟客户沟通之类的. 我们这边三个任务做完一共 4 节课.
xiqingongzi
2016-04-29 20:05:46 +08:00
@qfdk 他们是网络工程专业的。为啥不会我也不明白,毕竟我不是课程设计老师。这些能力确实需要培养
ryd994
2016-04-29 20:38:29 +08:00
其实我觉得没有实际经验很难觉出 docker 的好,只会觉得多了好多步骤麻烦。
只有当测试环境跑的好好的代码部署之后跑不起来的时候,当要迁移服务器,发现要一条条到旧服务器上爬配置的时候, docker 的优势才能体现出来。
另外,建议不要单讲 docker 本身。学习 compose 能更加强化“ docker 的正确用法”的概念。
Orzzzz
2016-04-29 20:54:48 +08:00
用 Daocloud 啊,最 docker 的一家了~

可以搞一个比赛什么的,用 docker 发布应用,然后分享一下每个人的 dockerfile ,分享一些奇淫技巧什么的。
最近在研究微容器,一个系统能做到 4.9M ,一个 nginx 服务器只有不到 7M , nginx+php 也才 24M ,简直太赞了,可以给同学们讲讲,肯定都会惊讶的。
还有可以用 docker 替代虚拟机,或者将虚拟机里的应用迁移到 docker 上,都很有挑战性。
至于原理的话,亮哥有一本《 Docker 源码分析》,可以给同学们推荐一下。

支持老师~


@yangxin0 你还记得你学过的数论概率论图论吗?不赞成你说的花一两个小时看文档就可以搞定.
ryd994
2016-04-29 22:34:14 +08:00
@Orzzzz 关于 alpine 还有微容器,感觉其实镜像大小没有那么重要,如果是以常用的 linux 发行版为基础,增量部分是差不多的。
用 docker history 查看 nginx 和 nginx:alpine 除了基础 OS ,增加的大小,一个是 57.63MB 一个是 56.46MB ,可见几乎没有差别。
更何况,实际上,以大家的服务器的带宽, 5M 和 50M 和 500M 。下载时间多几秒,并不是大问题。
而经典发行版的社区支持,是 alpine 等不能比的
参见 ycombinator 的讨论: https://news.ycombinator.com/item?id=11018102
7harryprince
2016-04-29 22:54:26 +08:00
先用 docker 撸一个 wordpress 电子商务网站。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/275336

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX