该学一学了!零基础入门 Docker

用户头像
程序员的时光
关注
发布于: 8 小时前
该学一学了!零基础入门Docker



写在前面:

小伙伴儿们,大家好!今天来入门学习Docker!

下一篇就讲Docker的安装以及常用命令等,持续更新,敬请期待!

思维导图:

1,Docker是什么?

Docker官网:https://www.docker.com/

Docker 是一个开源的应用容器引擎,基于Go 语言并遵从Apache2.0协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

2,Docker的架构原理

Docker三要素,镜像,容器,仓库;

1.镜像

Docker 镜像(Image)就是一个只读的模板,它可以是一个可运行软件(tomcat,mysql),也可以是一个系统(centos)。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。

2.容器

Docker 利用容器(Container)独立运行的一个或一组应用。容器是用镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。

3.仓库

仓库(Repository)是集中存放镜像文件的场所,类似GitHub存放项目代码一样,只不过Docker Hub是由来存镜像(image)的。仓库(Repository)和仓库注册服务器(Registry)是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag,类似版本号)。

仓库分为公开仓库(Public)和私有仓库(Private)两种形式。

最大的公开仓库是 Docker Hub(https://hub.docker.com/),存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云等。

3,Docker有什么用?

简化环境搭建,更高效的利用系统资源,提高开发声明周期效率;大大简化运维工作量;微服务利器;更高效的虚拟化,更轻松的迁移和扩展;

4,Docker容器与虚拟机的区别?

我们先来看看虚拟机的体系结构:



  • server - 表示真实电脑。

  • Host OS - 真实电脑的操作系统,例如:Windows,Linux或者是MacOS

  • Hypervisor - 虚拟机平台,模拟硬件,利用Hypervisor,可以在主操作系统之上运行多个不同的从操作系统。Hypervisor有支持MacOS的HyperKit,支持Windows的Hyper-V以及支持Linux的KVM。

  • Guest OS - 虚拟机平台上安装的操作系统,例如CentOS Linux

  • App - 虚拟机操作系统上的应用,例如nginx,这样各个应用就是相互隔离的。

再来看看Docker容器的体系结构:



  • server - 表示真实电脑。

  • Host OS - 真实电脑的操作系统,例如:Windows,Linux

  • Docker Engine - 新一代虚拟化技术,不需要包含单独的操作系统。

  • App - 所有的应用程序现在都作为Docker容器运行。应用的源代码与它的依赖都打包在Docker镜像中,不同的应用需要不同的Docker镜像。不同的应用运行在不同的Docker容器中,它们是相互隔离的。

两者区别:

这种体系结构的明显优势是,不需要为虚拟机操作系统提供硬件模拟。所有应用程序都作为Docker容器工作,性能更好。




好了,今天就先分享到这里了,下期继续给大家带来Docker的安装及使用命令后续内容!更多干货、优质文章,欢迎关注我的原创技术公众号~



发布于: 8 小时前 阅读数: 37
用户头像

程序员的时光

关注

程序员的路,会越来越精彩! 2020.04.30 加入

公众号:程序员的时光 记录学习编程的一路时光,从小白到现在也能稳操胜券; 主要从事Java后台开发,数据结构与算法,设计模式等等; 欢迎一起交流,分享经验,学习进步!

评论

发布
暂无评论
该学一学了!零基础入门Docker