Docker - 简介

原文地址,使用效果更佳!

Docker - 简介 | CoderMast编程桅杆icon-default.png?t=N7T8https://www.codermast.com/dev-tools/docker/docker-introduce.html

Docker是什么?

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

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

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

Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。

Docker能干什么?

Docker是一种容器化平台,可用于打包、分发和运行应用程序及其依赖项。以下是Docker的一些主要功能和用途:

  1. 容器化应用程序: Docker允许开发人员将应用程序及其所有依赖项打包到一个称为容器的独立单元中。这包括代码、运行时、系统工具、系统库等。容器可以在任何支持Docker的环境中运行,而不受环境差异的影响。

  2. 跨平台性: Docker容器可以在不同的操作系统和云平台上运行,提供了更强大的跨平台性。无论是在开发、测试还是生产环境,都可以使用相同的容器。

  3. 轻量级: Docker容器共享宿主操作系统的内核,因此它们相比于传统的虚拟机更加轻量级。这使得容器的启动速度更快,占用更少的系统资源。

  4. 版本控制: Docker容器的镜像可以被版本控制,允许开发人员和运维团队轻松地追踪和回滚应用程序的版本。

  5. 快速部署: Docker容器可以快速启动、停止和重新启动,提高了应用程序的部署速度。这对于微服务架构和持续集成/持续部署 (CI/CD) 策略非常有用。

  6. 隔离性: Docker容器提供了进程级别的隔离,使得应用程序之间相互独立。这有助于避免由于一个应用程序的问题导致整个系统崩溃。

  7. 资源优化: 多个Docker容器可以在同一台主机上并发运行,共享主机的资源。Docker通过优化资源使用,提高了系统的效率。

  8. 生态系统: Docker拥有丰富的生态系统,包括Docker Hub,其中存储了大量的公共和私有Docker镜像,使得开发人员可以轻松共享和获取镜像。

总体而言,Docker通过容器化技术提供了一种便捷、灵活且高效的方式来开发、打包和部署应用程序。

Docker和普通虚拟机的区别

 

可以理解为普通虚拟机是在宿主机的物理环境上,将操作系统进行虚拟化,类似于提供一个整体的虚拟环境,你可以在这个环境内干任何想干的事,而 Docker 在宿主机的基础上,仅仅只虚拟化所指定的依赖项。

虚拟机是在物理硬件层面对资源的隔离,而 Docker 是在操作系统的层面对所使用应用的隔离。

故 Docker 在性能上大大高于普通虚拟机。

虚拟机Docker
隔离程度隔离操作系统隔离所需依赖
资源利用率
运行效率
成本

学习Docker之前,需要什么基础

在学习 Docker 之前,你需要掌握一些常用的 Linux 操作指令,至少认识一些常见的命令,能读懂即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/637286.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vulfocus靶场thinkphp命令执行cve-2018-1002015

thinkPHP 5.0.x版本和5.1.x版本中存在远程代码执行漏洞,该漏洞源于ThinkPHP在获取控制器名时未对用户提交的参数进行严格的过滤。远程攻击者可通过输入‘\’字符的方式调用任意方法利用该漏洞执行代码 开启靶场: 使用工具: think…

适配器模式【结构型模式C++】

1.概述 适配器模式是一种结构型设计模式, 又称为变压器模式、包装模式(Wrapper) 将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 2.结构 Target:适配…

python3如何提取汉字

采用正则表达式的方法对字符串进行处理。 str1 "{我%$是,《速$.度\发》中 /国、人"(1)提取汉字 汉字的范围为”\u4e00-\u9fa5“,这个是用Unicode表示的。 import re res1 .join(re.findall([\u4e00-\u9fa…

排序 “叁” 之交换排序

目录 1. 基本思想 2.冒泡排序 2.1 基本思想 2.2 代码示例 2.3 冒泡排序的特性总结 3.快速排序 3.1 基本思想 🌵hoare版本 🌵挖坑法 ​编辑 🌵前后指针版本 ​编辑 3.2 快速排序优化 🌻三数取中法选key 3.4 快速排序…

命理八字之电子木鱼的代码实现

#uniapp# #电子木鱼# 不讲废话,上截图 目录结构如下图 功能描述: 点击一下,敲一下,伴随敲击声,可自动点击。自动点击需看视频广告,或者升级VIP会员。 疑点解答: 即animation动画的时候&…

git 基础配置

一、下载git sudo apt install git -y二、用户信息配置 $ git config --global user.name "John Doe" $ git config --global user.email johndoeexample.com检查配置信息 git config --list三、ssh密钥生成 1、进入~/.ssh mkdir ~/.ssh cd ~/.ssh2、生成密钥 …

计算机网络基础1--基础概念

1. IP地址 1.1 IPv4地址 分为网络号和主机号 地址块的第一个地址和最后一个地址通常不使用。 广播地址为主机号全取1的情况。 2. 常用报文格式 2.0 ethernet协议 2.1 arp协议 2.2 ip协议 2.3 tcp协议 2.4 udp协议 2.5 icmp协议

电磁兼容(EMC):静电放电(ESD)抗扰度试验深度解读(三)

目录 1. 静电抗扰度试验标准试验程序定制的目的 2. 环境条件对充电量的影响 3. 环境级别与空气和接触放电的关系 4. 试验等级的选择 1. 静电抗扰度试验标准试验程序定制的目的 保护设备免受静电放电影响的问题对制造厂和用户来说都是相当重要的。 随着微电子元件的广泛应用…

安装多个MySQL版本时如何连接到不同的数据库

当安装多个版本的数据库时,不同版本的端口名不一样,可以使用以下命令进行连接 mysql -uroot -p数据库密码 -h主机名 -P端口号 数据库主机名默认是localhost,端口号默认是3306,当安装多个版本数据库时,需要记住数据库的…

ssm069端游账号销售管理系统+jsp

端游账号销售管理系统的设计与实现 摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对端游账号销售信息管理混乱&…

Android Studio实现页面跳转

建立文件 temp.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"…

利用RFID无线射频技术,实现商品防伪和溯源信息管理

近几年来&#xff0c;伴随着信息化产业的快速发展&#xff0c;企业对于产品在生产、流通、分销和零售等环节的实时跟踪和监管的需求日趋强烈。同时企业在经营过程中不可避免地要在不同区域实行差异化的经销商拿货价格&#xff0c;从而导致窜货现象时有发 生&#xff0c;为企业带…