快速认识什么是:Docker

Docker,一种可以将软件打包到容器中并在任何环境中可靠运行的工具。但什么是容器以及为什么需要容器呢?今天就来一起学快速入门一下Docker吧!希望本文对您有所帮助。

假设您使用 Cobol 构建了一个在某种奇怪风格的 Linux 上运行的应用程序。您想与您的朋友分享这个应用程序,但他有一个完全不同的系统。那么问题就变成了,我们如何在任何机器上复制我们的软件所需的环境?

打包应用程序的一种方法是使用虚拟机,在虚拟机中模拟硬件,然后安装所需的操作系统和依赖项。

这允许我们在同一基础设施上运行多个应用程序。然而,由于每个虚拟机都运行自己的操作系统,因此它们往往体积庞大且速度缓慢。

现在,Docker 容器在概念上与虚拟机非常相似,但有一个关键区别。

容器只虚拟化操作系统,而不是虚拟化硬件。或者换句话说,所有应用程序或容器都由单个内核运行,这使得几乎所有内容都更快、更高效。

三个基本元素。

Docker世界包含三个基本元素:

  • Dockerfile
  • 镜像
  • 容器

Dockerfile 就像 DNA。它只是告诉 Docker 如何构建镜像的代码。镜像本身就是软件的快照,以及一直到操作系统级别的所有依赖项。该镜像是不可变的,它可用于启动多个容器,这是您在现实世界中运行的实际软件。

创建一个 docker 文件,并使用 from 从现有模板(如 Ubuntu)开始。

该基础镜像是从云端下载的,您还可以将自己的镜像上传到各种不同的 Docker 注册表。

从那里,您可能需要使用 run 来运行将依赖项安装到映像中的终端命令。您可以设置环境变量并执行各种其他操作,然后您要做的最后一件事就是设置启动容器时执行的默认命令。

现在,我们可以通过运行 docker build 命令来创建镜像文件。

它会遍历 Dockerfile 中的每个步骤来逐层构建镜像。

然后,我们可以使用 docker run 命令将此映像作为容器变为现实。

由于您的应用程序需要更多资源,您可以在多台计算机、多个云、本地或任何您想要可靠的地方运行它。

最后,顺手翻了一份 Docker入门课程,如果想再进一步学习一下的话,可以关注我的公众号:程序猿DD,发送暗号:docker,获取下载地址。

如果您想开拓眼界,了解和发现更多计算机领域的概念和知识,欢迎关注我在持续更新的开发者科普专栏,助你探索更多计算机领域的热门知识!

欢迎关注我的公众号:程序猿DD。前沿技术早知道,弯道超车有希望!积累超车资本,从关注DD开始!

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

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

相关文章

API接口使用方法(封装好的电商平台)

为了进行此平台API的调用,首先我们需要做下面几件事情。 1、 获取一个KEY。 点击获取 2、 参考API文档里的接入方式和示例。 3、查看测试工具是否有需要的接口,响应实例的返回字段是否符合参数要求。 4、利用平台的文档中心和API测试工具&#xff0c…

【算法集训】基础数据结构:三、链表

链表就是将所有数据都用一个链子串起来,其中链表也有多种形式,包含单向链表、双向链表等; 现在毕竟还是基础阶段,就先学习单链表吧; 链表用头结点head表示一整个链表,每个链表的节点包含当前节点的值val和下…

可以彻底告别手写正则表达式了

大家好,我是风筝,公众号「古时的风筝」 这篇文章的目的是让你能得到完美的正则表达式,而且还不用自己拼。 说到正则表达式,一直是令我头疼的问题,这家伙一般时候用不到,等用到的时候发现它的规则是一点儿…

排序:快速排序(hoare版本)

目录 快速排序: 概念: 动画分析: 代码实现: 代码分析: 代码特性: 常见问题: 快速排序: 概念: 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法&a…

探索鸿蒙 TextInput组件

TextInput 根据组件名字,可以得知他是一个文本输出框。 声明代码👇 TextInput({placeholder?:ResourceStr,text?:ResourceStr}); placeholder: 就是提示文本,跟网页开发中的placeholder一样的 text:输入框当前的文本内容 特殊属…

2023.12.6 关于 Spring Boot 事务的基本概念

目录 事务基本概念 前置准备 Spring Boot 事务使用 编程式事务 声明式事务 Transactional 注解参数说明 Transational 对异常的处理 解决方案一 解决方案二 Transactional 的工作原理 面试题 Spring Boot 事务失效的场景有那些? 事务基本概念 事务指一…

hive映射es表任务失败,无错误日志一直报Task Transitioned from NEW to SCHEDULED

一、背景 要利用gpt产生的存放在es种的日志表做统计分析,通过hive建es的映射表,将es的数据拉到hive里面。 在最初的时候同事写的是全量拉取,某一天突然任务报错,但是没有错误日志一直报:Task Transitioned from NEW t…

类和对象,this指针

一、类的引入: 如下,在C中,我们可以在结构体中定义函数,如下,之前我们学习C中中一直是在结构体中定义变量。 struct student{void studentinfo(const char* name,const char* gener,int age){ strcpy(_name,name);st…

RHEL8---文件系统

本章主要介绍文件系统的管理 了解什么是文件系统对分区进行格式化操作挂载分区查找文件 在Windows系统中,买了一块新的硬盘加到电脑之后,需要对分区进行格式化才能使 用,Linux系统中也是一样,首先我们要了解一下什么是文件系统。…

无敌是多么的寂寞!一本书讲透Java多线程!吊打多线程从原理到实践!

摘要 互联网的每一个角落,无论是大型电商平台的秒杀活动,社交平台的实时消息推送,还是在线视频平台的流量洪峰,背后都离不开多线程技术的支持。在数字化转型的过程中,高并发、高性能是衡量系统性能的核心指标&#xff…

花生壳安装在ubuntu下,记住要SN号登陆

在ubantu18.0.4上下载花生壳 进入花生壳的下载链接 选择linux版本进行下载 记住选ubuntu 运行命令phddns start