大纲
docker and shell
找资料
资料分享
docker and shell
之前学习docker的目的是想搭建一个便利的开发环境。学完了docker基础,到了搭建开发环境的时候,由于公司的项目采用的Python版本(2.7.8)、服务器OS版本(centos6.8)较老。搭建环境不容易,运行centos6.8的image后,在container中一个命令一个命令搭建开发环境比较low(因为,rm container后,环境就被删除了)。重新从image运行,又需要搭建一次。
又无意间发现,公司给我提供的服务器上有运维同事搭建开发环境时留下的shell脚本,运行一次就可以搭建好开发环境。因此想基于centos6.8写一个Dockerfile,在build image的时候运行这个脚本,那么就会生成包含项目开发环境的image,每次生成的container都可以运行代码了。
接着我就在一个全新的container中挂载了包含shell脚本和相关资源的目录,运行了一遍脚本。结果报了一大堆错,我又不懂shell,不知道如何修改shell脚本才能正确的运行。so,既然不会,那就学呗
找资料
我去Google、知乎搜索有没有关于shell脚本的书籍、文章,没发现靠谱的学习资料(出于已知的原因,我对大部分国内的出版社和作者已经失去信心了,所以挑选学习资料比较慎重,因为这会影响到你学到知识的速度和质量)
去维基百科先基本了解shell(之前听说过shell,但是并没有对shell有一个清晰的概念)
决定学习bash(shell的一种)
资料分享
找到了bash的出处,出自于大名鼎鼎的GNU项目,看了官方的文章https://www.gnu.org/software/bash/manual/,无奈英语太菜,看了几小时也没有头绪,没怎么看懂。然后搜索到中文翻译版https://files.cnblogs.com/files/f-ck-need-u/Bash4.0%E5%8F%82%E8%80%83%E6%96%87%E6%A1%A3.pdf,虽然不是最新版本的,也比啃英文学得快一些。
中文版也不好理解,因为这不是教程,这是参考手册,是给懂了shell基础的人看的。
然后想到了鸟哥的linux私房菜,瞅了几眼,写得很亲民,能看懂.所以恶补了3天,学完了:
11章http://cn.linux.vbird.org/linux_basic/0320bash.php
13章http://cn.linux.vbird.org/linux_basic/0340bashshell-scripts.php
还写了几个shell demohttps://gitee.com/iroan/practice_bash
领取专属 10元无门槛券
私享最新 技术干货