打算在校内开展 Docker 课程
我个人是打算讲些 Docker 的优势,然后就是 Docker 容器的基础应用。
我觉得我主要是引起兴趣,更多还是同学们能够有兴趣自己去研究
1
eoo 2016-04-29 15:11:48 +08:00 via Android
支持
|
2
fu82581983 2016-04-29 15:14:29 +08:00 1
你说滋不滋次,我当然是滋次的。
学校很需要一些比较新的技术,因为老师教的东西实在太老了,学生也会容易没有兴趣。 |
3
Shura 2016-04-29 15:22:18 +08:00 via Android
然而最多只能是选修课
|
4
xiqingongzi OP @Shura 哈,连选修都算不上,只能算社团的技术分享
|
5
xiqingongzi OP @fu82581983 其实学校的老师都知道,只是不教。坑死。老师们做项目也是 BootStrap 各种用,但是给学生讲的却很少
|
6
fulvaz 2016-04-29 15:30:09 +08:00
然而我觉得本科能把基础讲明白就已经很了不起了
|
7
xiqingongzi OP @fulvaz 作为社团只讲应用,不讲基础,基础更喜欢同学们自己去深挖。
|
8
cxbig 2016-04-29 15:33:34 +08:00
想法很好,最好能结合实践。
10 年前就是吃了这个亏,教材陈旧缺乏实践,出来发现很多知识和社会是脱节的。 |
9
xiqingongzi OP @cxbig 实践的话,会考虑介绍灵雀云之类的业务给他们,让他们尝试自己去操作、部署程序
|
10
cxbig 2016-04-29 15:41:51 +08:00
@xiqingongzi 大部分实践其实本地 vm 就能做了
|
11
dangyuluo 2016-04-29 15:58:04 +08:00
你是讲师还是学生
|
12
9hills 2016-04-29 16:01:45 +08:00 via Android 1
你说好不好,那当然是吼啊,但是希望能多讲基础
Cgroups. Namespace aufs 等等,而不是只教怎么用 |
13
froma2z 2016-04-29 16:04:55 +08:00
没什么坏处,也没什么卵用
|
14
SourceMan 2016-04-29 16:05:45 +08:00 1
《 LOL 首杀的技巧与实践》
|
15
yuedingwangji 2016-04-29 16:33:37 +08:00
good
|
16
qfdk 2016-04-29 16:45:56 +08:00 6
来来给 lz 点儿建议,刚做了关于 docker 的东西 :) 顺便把我们的教学教材给你们
重点不是你来灌输思想而是让他们知道为什么要用 Docker ,自己学来的更有意思并加上自己的实践,你就是当一个学生的角色,这样才能调动积极性,你可以在他们的演讲上提一下问题,看看他们有没有好好的下功夫。如果有条件开一个云平台的话大家可以共享一个文件夹,让学生把做的 ppt 都放上去分享给别的同学,来个🌰 http://tinyurl.com/hzsr2bm 1. 首先要让学生知道 Docker 是干啥么的,这个不用你来讲,让他们自己学习。 2. 让他们把学习成果给你们以 ppt+demo 的形式来展示一下,不特别复杂,让他们用 tomcat 跑一个项目,或者 nginx 跑一个自己的项目就好,或者 WordPress 之类的。 3. 分成 2 人的小组来做一个 微型架构(都在 Docker🐳中) 加上物理机的 nginx 来复杂均衡+monkey 测试。 我把我们写的教程可以发一下 http://tinyurl.com/jllhezf (需要翻墙) 就是做成一个这样的项目 英文资料 http://techblog.netflix.com/2013/03/introducing-first-netflixoss-recipe-rss.html 这些都要做在 docker 里面 最后写一个自动化脚本自动部署这些东西 具体可以参考我写的 https://github.com/qfdk/docker-rss 喜欢的可以去 https://hub.docker.com/r/qfdk/docker-rss/ 给我打个星 :) 时间长的话 大概 7 节课,短的话大概 2 节课,看学生水平而定(如果连 git 都不会玩儿的孩子。。) 最后祝好运 |
17
chinajik 2016-04-29 16:52:12 +08:00 1
|
18
xiqingongzi OP |
19
iburu 2016-04-29 17:11:12 +08:00
学生的福气
|
21
Rorysky 2016-04-29 17:28:51 +08:00
Docker 和 Vagrant 有何异同?
|
22
ayaseangle 2016-04-29 17:31:27 +08:00 via Android
只能是选秀或者课外活动。。。本科还是以基础科学为主。
|
23
elya 2016-04-29 18:17:13 +08:00 via iPhone
你安装一次 Discourse ,啥都体验了
|
24
xiqingongzi OP @ayaseangle 是啊
@Rorysky Vagrant 如果我没记错是基于 Vbox 的。 Vbox 是系统虚拟化。 Docker 更多是进程虚拟化 @elya 学生们并不知道 Discourse |
25
popu111 2016-04-29 19:12:59 +08:00 via Android
个人感觉这种东西没啥好讲的,还是实♂干的好
|
26
yangxin0 2016-04-29 19:17:15 +08:00 via iPhone 1
还不如多开一门数学课,统计、概率论、数论, docker 这些都是纸老虎如果真要用花一两小时看看文档就可以了。
|
27
wph95 2016-04-29 19:20:12 +08:00
楼上那位讲的是不错,不过那内容你确定是给普遍的大学学生讲的?
你跟同学讲微服务架构? --- 作为一个大二狗,我认为应该这样。 首先表演了快速部署一个博客。 docker pull ghost & docker run ... 给大家树立 docker 的初印象,快,方便。 然后引导大家将自己的小项目 docker 化。足够给学生们种下种子了。 讲 Aufs Cgroups. Namespace ? 那就不是通过上课来教的了 && Aufs 已经属于淘汰边缘 |
28
xcodebuild 2016-04-29 19:21:44 +08:00
支持,对有用的人会很有用的,我一直很感谢大一的时候学长给我们介绍 Github 。
(当然对没用的人来说仍然没什么用、、、 |
29
xiqingongzi OP @codefalling 一直觉得版本控制是大学必学的课程。特别是这些开源社区,非常重要。
@yangxin0 哈,基础的是不少了。虽然是纸老虎,但是我接触到太多的学生甚至不知道这个老虎。 @wph95 这个是打算做。不过可能会参考 @qfdk 的路线,基础的 Docker 基础让学生自己去查,我在课程上进行简单的说明。然后就是先做实例吸引他们上兴趣。然后就是带他们做小的项目的 Docker 化,逐步引导。我更喜欢让他们自己研究。 @popu111 实干的前提是让他们知道这东西。三线城市的小学校,关注不到 |
30
qfdk 2016-04-29 19:34:02 +08:00 via iPhone
@xiqingongzi 不是那个意思 1 2 3 都是给学生做的 你的任务只是在他们碰壁的时候去伸出援手 让同学自己讲课. 我们现在的策略一直这样 学生上台讲课 😛 老师挺轻松 老师就是帮助梳理一下 项目中可能遇到的问题
@wph95 看第二点 wp 是让同学自己动手演示 老师只是指导 😄 |
31
qfdk 2016-04-29 19:35:56 +08:00 via iPhone
@xiqingongzi 车上颠簸没看仔细 不好意思哈 误解了
|
32
wph95 2016-04-29 19:37:24 +08:00
|
33
xiqingongzi OP @qfdk 嗯,不过我这边的学生水平一般,前期我还是要多引导。
|
34
xiqingongzi OP @wph95 项目驱动研发是正常的。但是目前来说,不指望他们能直接上手开发,他们目前很多人对开发都是初步开始接触。他们目前很多地方还是不清楚。甚至我们觉得普通的 Linux ,他们目前基础都很差。
|
35
qfdk 2016-04-29 19:45:14 +08:00 via iPhone
@xiqingongzi 其实最有趣的还是第三点 , 用🐳docker 模拟出来负载均衡的环境, 再写一个 shell 脚本模拟不同的服务器宕机 重启. 这样即学习了主流架构又可以模拟出生产的状况 linux 下的服务器运维 以及对英文的阅读能力 . 搞计算机的这些不会 不大靠谱了. 学生自己讲课还能锻炼语言表达能力 以后跟客户沟通之类的. 我们这边三个任务做完一共 4 节课.
|
36
xiqingongzi OP @qfdk 他们是网络工程专业的。为啥不会我也不明白,毕竟我不是课程设计老师。这些能力确实需要培养
|
37
ryd994 2016-04-29 20:38:29 +08:00
其实我觉得没有实际经验很难觉出 docker 的好,只会觉得多了好多步骤麻烦。
只有当测试环境跑的好好的代码部署之后跑不起来的时候,当要迁移服务器,发现要一条条到旧服务器上爬配置的时候, docker 的优势才能体现出来。 另外,建议不要单讲 docker 本身。学习 compose 能更加强化“ docker 的正确用法”的概念。 |
38
Orzzzz 2016-04-29 20:54:48 +08:00
用 Daocloud 啊,最 docker 的一家了~
可以搞一个比赛什么的,用 docker 发布应用,然后分享一下每个人的 dockerfile ,分享一些奇淫技巧什么的。 最近在研究微容器,一个系统能做到 4.9M ,一个 nginx 服务器只有不到 7M , nginx+php 也才 24M ,简直太赞了,可以给同学们讲讲,肯定都会惊讶的。 还有可以用 docker 替代虚拟机,或者将虚拟机里的应用迁移到 docker 上,都很有挑战性。 至于原理的话,亮哥有一本《 Docker 源码分析》,可以给同学们推荐一下。 支持老师~ @yangxin0 你还记得你学过的数论概率论图论吗?不赞成你说的花一两个小时看文档就可以搞定. |
39
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 |
40
7harryprince 2016-04-29 22:54:26 +08:00
先用 docker 撸一个 wordpress 电子商务网站。
|
41
litpen 2016-04-29 23:09:44 +08:00 via Android
听说我们学校去年有个学长毕业论文讲 docker ,结果老师都蒙了,不知道怎么问他答辩了
|
43
yangxin0 2016-04-29 23:21:07 +08:00 via iPhone
@Orzzzz 我以前研究过 cgroup 所以看操作很快的。最近工作接触深度学习、人脸识别所以感觉数学跟不上了。编程这种其实很简单的,有经验的话这个很快,数学以及一些基础课工作了补起太累了。
|
45
Orzzzz 2016-04-29 23:44:12 +08:00
|
46
frozenshadow 2016-04-29 23:48:24 +08:00
@wph95 卧槽,小哥,你才大二???
|
47
starcraft 2016-04-30 00:40:56 +08:00 via iPhone
并没必要 就像不少学校已经不拿 java 做参与教学一样。教学基础和实际工作还是不一样的。
|
48
xiqingongzi OP @starcraft 我希望能够带他们入门,让他们知道什么是最新的。他们天天打英雄联盟,什么都不知道。比较着急
@litpen 可能是老师比较忙,没关注这个。 @7harryprince 打算撸 WordPress ,电子商务的话,他们目前应该没这个需求。 @ryd994 这个确实。 Docker 本身也是解决现实环境问题出来的。 @Orzzzz DaoCloud 的 Dao 工具必讲! |
49
WildCat 2016-04-30 08:37:12 +08:00 via iPhone
@xiqingongzi 不要试图劝整天打 LOL 的少年,否则你会失望的。
另外最好能申请到 docker(for Mac/Windows)的内测,体验不错。 @wph95 我觉得他们大都没有在 vps 上部署过博客,所以很难知道 docker 的优越性 |
50
xiqingongzi OP @WildCat 不希望他们走出学校一无所成,能引路就引路吧。之前教了他们在 VPS 上部署 WordPress ,过程很艰难。
|
51
wph95 2016-04-30 10:08:43 +08:00
@frozenshadow -.- 的确是呀
@ryd994 其实容器大小有时候很重要的,容器大小影响容器启动速度的。 推荐使用 dao pull 下载镜像哦 @xiqingongzi http://open.daocloud.io/tag/python-kai-fa-zhe-de-docker-zhi-lv/ 附赠教程,如果需要其他语言的 可以提:) |
52
ryd994 2016-04-30 10:36:23 +08:00
@wph95 服务器在国外 G 口接入。瓶颈从来都是硬盘和 cpu ,官方源很快谢谢
而且我用 docker 都是跑服务,做好镜像反复启动。用 overlayfs 全都是秒开 |
53
wph95 2016-04-30 11:15:54 +08:00
|
54
ryd994 2016-04-30 11:30:38 +08:00
@wph95 用不用这样强推啊……
我是用 docker 跑服务,至少半年没重启过了 哪怕启动要 1 分钟都无所谓的 我最近在研究自动发现,有服务自动发现的话,容器轮流重启,不论启动耗时多久,都是 0 downtime |
55
KgM4gLtF0shViDH3 2016-04-30 11:33:53 +08:00 via iPhone
哪个学校啊,看看能不能蹭课
|
57
xiqingongzi OP @bestkayle 黄冈师范学院~肯定是蹭不了了~
|
59
laosb 2016-05-01 20:35:42 +08:00
@bjrjk 噗,目前我校情况在:
「有兴趣吗?」 「有」 「那就好好学」 「好」 …… 「这个很简单啊,……,你自己有去操作过么」 「没有,没时间,下周要 xxx 考试、下个月要 xxx 」 对于沉迷于应试教育不能自拔的人,我没办法。 |
60
guyskk 2016-05-02 00:16:42 +08:00 via Android 1
我也打算在社团做个 docker 分享,不过还没准备好。大概思路是讲明白 docker 能用来干嘛,主要解决什么样的问题,再介绍 /演示用 docker 一键部署几个好玩的东西,比如 minecraft 。具体怎么用不必讲,网上教程那么多自己学去。
|
61
xiqingongzi OP |
62
wizardforcel 2016-05-12 08:59:56 +08:00 via Android
不要光讲课,实践也是很重要的。
考试比例不超过 30%。然后设置三个 project ,每个 20%,每个人都要动手去做,做完了当着全班的面展示,这样就不会不自己做了。 |