最近研究了一下docker,其中有很多疑问。我一直在想,为什么会诞生这种这么难用的东西,并且大家还都喜欢?这是其中我最大的一个问题,我阐述了一下,有不对的,欢迎大家拍砖。
名词简述:
本机运行:即相对于在docker中运行程序,直接在物理机上上运行程序。
docker与虚拟机的区别,有很多,最大的区别就是启动速度比虚拟机快了至少10个数量级。
那么docker与直接在本机运行程序有什么区别呢?
直接在本机运行程序,速度不是比从docker中启动速度更快?
我们先从docker的口号中找答案。build ship and run any app,any where.次口号:an open platform for distributed applications for developers and sysadmin。
这个口号大概说了以下几点。
1、在docker中可以运行任意的app。说anywhere还是有点夸张的。没有docker环境,你还能运行么?总之,就是说,如果你的程序能在docker中运行,就代码可以在任意环境运行。但目前docker只在unix系统的系统中运行,在windows中还是无法运行的。所以,这句说的其实名不副实。
2、docker为开发人员和运维人员提供了一个开发平台。
这句话,毋庸置疑。开发人员和运维人员都用docker,自然就形成了一个平台。但是目前,都使用虚拟机不也是一个平台么?所以这一点也不足以构成一个独特点。至于分布式应用,我想不用docker就不能用分布式了么?
所以,从docker这些直接宣传语来说,不足以让大家趋之若鹜。
那么,人们为什么这么热衷于docker呢?不排除某些大厂商的一些炒作。其实,计算机届和娱乐圈有一些相似之处,就是炒作。每隔几年,总要出一些新技术。人们总是喜新厌旧,就像手机一样,智能机比功能机多了写照相,打游戏,听音乐,上网的功能,价格就能翻好几倍。社会称之为创新,革命。
回到开头,其实这个问题就是相当于问“用智能手机打电话和用功能机打电话有什么区别”。我想你已经知道答案了吧。
那么docker到底附加了哪些功能呢?
我个人觉得,最大的附加功能就是性能。and so called build ship and run any app,any where。
docker为什么会是将来的趋势?
因为传统的vm太慢,技术太老,性能太低(当然这些都是相对docker的,想想docker没出生之前,大家用VM照样不是用的很溜)。社会要进步就必须有一种新的技术取代它。docker就是这样一种技术,虚拟机的最主要的隔离性等功能,在docker种都有替代方案。
docker比直接在本机性能更高么?
不会。既然是运行在容器中的,肯定没有直接运行性能高。
相关推荐
如何在本地搭建docker ChatGPT环境.zip
Docker 是一种轻量级的操作系统虚拟化工具,能够将应用程序及其依赖项打包成一个容器,使得应用程序在不同的环境中运行时都能保持一致的行为。使用 Docker 打包 Python 运行环境可以大大提高工作效率。 Docker 架构...
Docker的4.23.0版本作为当前可用的稳定版本,提供了安装工具,供用户下载并安装到Windows系统上,确保了用户可以获取到最新且稳定的Docker运行环境,而不必担心旧版本的不兼容或已停止维护的问题。这一版本的安装...
程序代码如下: #include using namespace std; int main () { cout << hello-world << endl; cout << my first docker << endl; return 0; } 例如我是在我的home路径下建立一个...
Docker在IT行业中是一款非常重要的容器化平台,它允许开发者将应用程序及其依赖打包到一个可移植的容器中,便于在各种环境中快速部署和运行。在Windows操作系统上安装Docker,可以借助Docker Desktop或者Docker ...
Docker镜像是一种轻量级、可执行的独立软件包,包含运行应用程序所需要的一切:代码、运行时环境、库、环境变量和配置文件。 本篇将详细讨论有关MySQL 8.4.2版本的Docker镜像包的信息。首先,MySQL 8.4.2是数据库的...
关于Docker的项目源码,通常镜像本身并不直接包含源码,因为镜像主要用于打包和运行应用程序及其依赖项。然而,如果你需要查看某个运行在Docker容器中的应用程序的源码,有几种方法可以实现。一种方法是通过容器挂载...
它让开发者能够在本地机器上构建、调试和测试Docker容器化的应用程序,而无需依赖复杂的配置和命令行操作。 Docker Desktop Installer 4.38.0版本是此软件的一个更新版本,该版本可能带来了新的特性、改进和bug修复...
Docker提供了轻量级的虚拟化解决方案,可以让不同的应用程序运行在同一个操作系统上,而无需担心相互干扰。 Docker的主要应用场景包括: 1. Web应用的自动化打包和发布。开发人员可以将应用和环境配置文件一起打包...
这些工具虽然不是Docker运行的必需品,但它们能够极大提高用户使用Docker的便捷性和管理多容器应用的效率。 安装完成后,进行Docker的初次运行测试是十分必要的。这通常包括运行一个示例容器来验证安装是否成功,并...
Docker是一种新兴的容器化技术,它允许开发者将应用程序及其依赖打包成一个可移植的容器,在任何支持Docker的系统上都能一致地运行。 将MySQL 5.7版本与Docker技术结合起来,便可以在不同环境之间快速部署MySQL服务...
3. **程序的高可移植性**:由于 Docker 容器化了应用程序及其依赖,程序可以在任何支持 Docker 的平台上运行,无论是在公有云、私有云还是本地服务器,保持一致的行为。这极大地提高了软件的可移植性和部署的灵活性...
首先,需要明确的是,Docker镜像是一种轻量级、可执行的独立软件包,包含了运行应用程序所需的所有内容:代码、运行时环境、库、环境变量和配置文件等。通过使用Docker镜像,可以确保应用程序在任何环境中都以相同的...
启动Docker应用程序后,可以在菜单栏看到Docker图标,表明Docker已经安装成功并准备好使用。 ### Docker在其他Linux发行版上的安装 对于不在上述列表中的Linux发行版,Docker官方提供了详细的安装指南,这些指南...
Docker的核心理念是“构建、分享和运行”的应用程序。它基于Go语言并实现了轻量级的虚拟化,通过容器技术实现了应用的隔离。Docker容器与传统的虚拟机不同,它们共享主机的操作系统,因此启动速度快,资源利用率高。...
在Windows系统上安装Docker,通常有几种方式可以选择:一种是通过Docker官网下载Docker Desktop安装程序,这是一套完整的Docker运行环境,包括Docker引擎和GUI工具等。通过图形界面(GUI)安装Docker,对于大多数...
首先,需要检查系统是否满足Docker运行的先决条件,比如需要使用64位Windows 10 Pro、Enterprise或Education版本,并开启Hyper-V和容器特性。其次,用户需要下载Docker Desktop for Windows安装程序,即列表中的...
Docker是一种开源的容器化平台,它允许开发者将应用程序及其依赖项打包成容器,然后在各种环境中运行。在处理数据存储和管理时,MySQL数据库是目前使用最为广泛的关系型数据库管理系统之一。结合Docker和MySQL的优势...
Docker Desktop 是一款强大的开发工具,使开发者能够在 Windows 环境中高效构建、共享和运行容器化应用程序。它提供了一种无缝的开发体验,允许用户通过简单的图形界面和命令行工具来管理 Docker 容器和镜像。 ...
1. **Docker Engine**: Docker Engine是Docker的核心,它允许开发者打包应用程序及其依赖项到一个可移植的容器中,然后可以在任何运行Docker的平台上运行。Docker Toolbox中的Docker Engine是适用于旧版Windows(不...