对于在校学生而言学校没有具体应用需求引导,所以应该如何去研究Docker?还有源代码有没有必要去研究?
对于在校学生而言学校没有具体应用需求引导,所以应该如何去研究Docker?还有源代码有没有必要去研究?
-----
网友解答:
-----
一个非常好的问题。Docker是一个开源的应用容器引擎,将应用以及依赖打包到一个可移植的镜像中,实现虚拟化,有助于快捷高效的交付应用。
那么应该如何学习Docker容器技术呢?
一,Docker基础
二,Docker应用
三,Docker源码
题主是在校学生,缺少实际应用Docker的项目背景,建议参与技术社区和开源项目,主动承担Docker相关工作。
掌握Docker基础知识和应用技能后,如果对Docker非常有兴趣,或者期望成为Docker专家,那就应该进一步研究源代码。
一,Docker基础
Docker核心概念包括三部分:
1)镜像Image,应用和依赖打包生成的文件,类似安装包。
2)容器Container,镜像创建运行应用的实例。
3)仓库Repository,Docker存放镜像文件的地方。
Docker-compose资源编排,将多个服务和容器组织成为一个应用系统,声明在docker-compose.yml文件中,这些资源可以作为一个整体来创建和启动。
Swarm是集群管理工具,将多个Docker节点统一管理组织,支持动态扩容等特性,和Kubernetes(k8s)相比,更加轻量,适合较小的应用系统。
二,Docker应用
1)Docker常用命令
2)Dockerfile镜像创建语法
3)docker-compose.yml资源编排文件
4)Docker镜像自动构建,使用云服务
三,Docker源码
Docker使用Go语言开发,遵守Apache2.0协议,主要模块有Client、Daemon、Registry、Graph、Driver、libcontainer和Docker container。
单独说一下containerd,最早是Docker引擎的核心组件,后来Docker将其捐赠出来独立发展,新技术社区初始成员包括阿里云,AWS, Google,IBM和微软,随后containerd得到了快速发展和广泛支持,Kubernetes也在2018年5月正式宣布,支持containerd作为标准容器运行时管理器。
我是工作多年的Web应用架构师,陆续发布关于软件开发方面的文章,欢迎关注我,了解更多IT专业知识。
-----
网友解答:
-----
我写了一个称作docker.sh 的小项目,该项目旨在通过一系列的实验使用户对docker的底层技术,如Namespace、CGroups、rootfs、联合加载等有一个感性的认识。在此过程中,我们还将通过Shell脚本一步一步地实现一个简易的docker,以期使读者在使用docker的过程中知其然知其所以然。该项目的仓库地址如下:
https:github.compandengyangdocker.sh.git
https:gitee.compandengyangdocker.sh.git
可用于学习 Docker 原理,里面有Namespace、CGroups的原理及示例的介绍。
这个小项目涵盖了Docker最核心的技术,代码却只有几十行,如果时间有限,可以研究研究这个,该项目配套了一个保姆级的教程。
------------------
推荐阅读:
您的最大摄氧量是多少?怎样才能有效提升?有什么好的经验分享吗?
进公司3个月后怀孕了,领导之前对自己挺好的,一听怀孕态度立马变了,还把工资降了,你怎么看这种事情?