Docker基础知识
1.什么是docker容器Docker 容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了 docker引擎的服务器上(包括流行的 Linux 机器、windows 机器),也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最
1.什么是docker容器
Docker 容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包
他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了 docker
引擎的服务器上(包括流行的 Linux 机器、windows 机器),也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。
几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不
依赖于任何语言、框架包括系统。
2.容器与虚拟机
VM:传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,
在该系统上再运行所需应用进程。
Docker:容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,
而且也没有进行硬件虚拟。
Hypervisor 是虚拟机管理者,不但协调着硬件资源的访问,也同时在各虚拟
机之间施加防护。传统虚拟机的 Guest OS 层、Hypervisor 层在 docker 中被
docker engine 层所替代。
特性:
⚫ 更高效的利用系统资源
由于 Docker 工作在进程级别,不需要进行硬件虚拟以及运行完整操作系统
等额外开销,所以 Docker 对系统资源的利用率更高。相比虚拟机技术,一个相
同配置的主机,往往可以运行更多数量的应用。
⚫ 更快速的启动时间
传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由
于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫
秒级的启动时间。大大的节约了开发、测试、部署的时间。
⚫ 一致的运行环境
由于开发环境、测试环境、生产环境不一致,导致有些 bug 并未在开发过
程中被发现。Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运
行环境一致性,从而不会再出现 “这段代码在我机器上没问题啊” 这类问题。
⚫ 更轻松的迁移
Docker 确保了执行环境的一致性,无论是物理机、虚拟机、公有云、私有
云,甚至是笔记本,其运行结果是一致的。因此可以很轻易迁移到任意上,而不
用担心运行环境的变化导致应用无法正常运行的情况。
⚫ 更轻松的维护和扩展
Docker 使用的分层存储以及镜像的技术,Docker 团队同各个开源项目团队
一起维护了一大批高质量的官方镜像,既可以直接在生产环境使用,又可以作为
基础进一步定制
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)