Docker简介
Docker官网链接: http://docker.p2hp.com/我们开发的嵌入式项目基本是基于虚拟机下的ubuntu的,如果每一个项目要求的系统版本、库版本、交叉编译工具链等不一样,我们就需要为每一个项目安装一个对应的ubuntu,这既浪费存储又浪费时间,也不方便拷贝给别的同事。如果说有一种工具,可以将各个环境隔离开来,相互之间不会影响,就像一个个沙箱盒子一样独立包装,那么Docker可以做
Docker官网链接: http://docker.p2hp.com/
问题:
我们开发的嵌入式项目基本是基于虚拟机下的ubuntu的,如果每一个项目要求的系统版本、库版本、交叉编译工具链等不一样,我们就需要为每一个项目安装一个对应的ubuntu,这既浪费存储又浪费时间,也不方便拷贝给别的同事。如果说有一种工具,可以将各个环境隔离开来,相互之间不会影响,就像一个个沙箱盒子一样独立包装,那么Docker可以做到。
Docker概述:
Docker (码头工人)是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司(后由于 Docker 开源后大受欢迎就将公司改名为 Docker Inc ,总部位于美国加州的旧金山)内部的一个开源的 PAAS 服务 (Platform as a ServiceService )的业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护
Docker与虚拟机区别:
Docker容器与虚拟机类似,但二者在原理上有所不同。Docker是操作系统层面的虚拟化,直接使用本地操作系统。虚拟机则是硬件级别的虚拟化,需要有额外的虚拟机管理应用和虚拟机操作系统层。因此容器更具有便携性、高效地利用资源。容器更多的用于表示软件的一个标准化单元。由于容器的标准化,因此它可以无视基础设施(Infrastructure)的差异,部署到任何一个地方。
docker容器不是一个虚拟机,并没有一个所谓的docker容器运行在宿主机上,用户进程还是那个用户进程,只不过docker帮我们加上了各种namespace参数。Docker 项目在这里扮演的角 色,更多的是旁路式的辅助和管理工作。
docker和虚拟机相比的区别,虚拟化需要一个Hypervisor 来负责创建虚拟机,这个虚拟机是真实存在的,并且他里面真的要运行一个操作系统。而容器本质上仍然仅仅是宿主机操作系统上的一个进程而已。
Docker 架构
Docker 包括三个基本概念:
镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。
Linux上安装docker: https://docs.docker.com/desktop/install/linux-install/
在MAC上安装docker: https://dockerdocs.cn/docker-for-mac/install/
更多推荐
所有评论(0)