Docker的简介及安装

Docker 是什么

        Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。诞生于2013年,最 初的发起者是dotCloud公司,后来改名为Docker Inc,专注于Docker 相关技术和产品的开发。Docker 项目目前已经加入了Linux基金会,全部开源代码均在https://github,com/docker上进行相关维护 官网地址为https://www.docker,com/,有相关文档可以参考。现在Docker与 OpenStack同为最受 欢迎的云计算开源项目, Docker 的Logo设计为蓝色鲸鱼,拖着许多集装箱。如图所示,鲸鱼可以看作宿主机,而集装箱可以理解为相互隔离的容器,每个集装箱中都包含自己的应用程序。正如 Docker 的设计宗旨一 样:Build, Ship and Run Any App, Anywhere,即通过对应用组件的封装,发布、部署,运行等生命 周期的管理,达到应用组件级别的“一次封装,到处运行”的目的。这里的组件,既可以是一个应 用,也可以是一套服务,甚至是一个完整的操作系统。

 Docker 和虚拟机的区别

        作为一种轻量级的虚拟化方式,Docker与传统虚拟机相比具有显著的优势, Docker容器很快,启动和停止可以在秒级实现,比传统虚拟机要快很多;Docker核心解决的问 题是利用容器来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源, 所以 Docker容器除了运行其中的应用之外,基本不消耗额外的系统资源,从而在保证应用性能的同 时,减小系统开销,使得在一台主机上同时运行数千个Docker容器成为可能;Docker操作方便,还 可以通过 Dockerfile 配置文件支持灵活的自动化创建和部署。

        下表对使用 Docker容器技术与传统 虚拟化技术的特性进行了比较。

        Docker之所以拥有众多优势,与操作系统虚拟化自身的特点是分不开的。传统虚拟机需要有额 外的虚拟机管理程序和虚拟机操作系统层,而Docker容器是直接在操作系统层面之上实现的虚拟化

Docker 的使用场景

         现在开发者需要能方便地创建运行在云平台上的应用,必须要脱离底层的硬件,同时还需要任 何时间地点可获取这些资源,这正是Docker所能提供的。Docker的容 器 技术可以在一台主机上轻松 为任何应用创建一个轻量级的,可移植的,自给自足的容器。通过这 种 容 器打包应用程序,意味着 简化了重新部署、调试这些琐碎的重复工作,极大地提高了工作效率。例如,服务器从腾讯云迁移 到阿里云,如果采用Docker容器技术,迁移只需要在新的服务器上启动需要的容器即可。

Docker 的核心概念及安装

1.镜像

        Docker的镜像(lmage)是创建容器的基础,类似虚拟机的快照,可以理解为是一个面向Docker 容器引擎的只读模板。比如,一个镜像可以是一个完整的CentOS操作系统环境,称为一个CentOS 镜像,可以是一个安装了MySQL的应用程序,称为一个MySQL镜像,等等。

         Docker提供了简单的机制来创建和更新现有的镜像,用户也可以从网上下载已经做好的应用镜像来直接使用。

2.容器

        Docker 的容器(Container)是从镜像创建的运行实例。它可以被启动,停止和删除。所创建的每 一个容器都是相互隔离、互不可见,可以保证安全性的平台。可以把容器看作一个简易版的Linux环 境,Docker利用容器来运行和隔离应用。

3.仓库

        Docker仓库(Repository)是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push 命令将它上传到公有仓库(Public)或者私有仓库(Private),这样一来当下次要在另外一台机器上使 用这个镜像时,只需要从仓库上拉取下来就可以了。

        仓库注册服务器(Registry)是存放仓库的地方,其中包含了多个仓库,每个仓库集中存放某一 类镜像,并且使用不同的标签(Tag)来区分它们,目前最大的公共仓库是Docker Hub,存放了数量 庞大的镜像供用户下载使用。

4.安装 Docker

        Docker支持在主流的操作系统平台上进行使用,包括 Windows系统、Llinux系统及MacOS系统 等。目前最新的RedHat RHEL.CentOS 及 Ubuntu系统官方软件源中都已经默认自带了 Docker包,可 直接安装使用,也可以用 Docker自己的YUM源进行配置。

        CentOS 系统下安装Docker可以有两种方式:一种是使用 cul获得Docker的安装脚本进行安装, 另一种是使用YUM仓库来安装Docker。需要注意的是,目前Docker 只能支持64位系统。

(1)安装 Docker

[root@lgc ~]# wget https://download.docker.com/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo   //定义yum仓库 Docker官方源[root@lgc ~]# yum -y install docker-ce  //用自带的yum源安装

(2)安装完成启动 Docker 并设置开机自动启动

[root@lgc ~]# systemctl start docker.service
[root@lgc ~]# systemctl enable docker.service

        安装好的Docker有两个程序:Docker服务端和 Docker客户端。其中Docker服务端是一个服务进 程,管理着所有的容器。Docker客户端则扮演着Docker服务端的远程控制器,可以用来控制Docker 的服务端进程。大部分情况下Docker服务端和客户端运行在一台机器上。

(3)通过检查Docker版本可以查看Docker服务

[root@lgc ~]# docker version

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

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

相关文章

【办公类-22-11】周计划系列(5-3)“周计划-03 周计划内容循环修改“ (2024年调整版本)

背景需求: 前文从原来的“新模版”文件夹里提取了周计划主要内容和教案内容。 【办公类-22-10】周计划系列(5-2)“周计划-02源文件docx读取5天“ (2024年调整版本)-CSDN博客文章浏览阅读1.1k次,点赞29次&…

基于消失点的相机自标定

基于消失点的相机自标定 附赠最强自动驾驶学习资料:直达链接 相机是通过透视投影变换来将3D场景转换为2D图像。在射影变换中,平行线相交于一点称之为消失点。本文详细介绍了两种利用消失点特性的标定方法。目的是为根据实际应用和初始条件选择合适的标…

边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南 -- 云端系统数据库设计(五)

专栏目录 边缘计算WEB端应用融合:AI行为识别智能监控系统搭建指南 – 整体介绍(一) 边缘计算WEB端应用融合:AI行为识别智能监控系统搭建指南 – 边缘设备图像识别及部署(二) 边缘计算WEB端应用融合&#xf…

【开发】Redis 的理解与数据存储格式

目录 相关传送门 1. NOSQL和关系型数据库比较 2. 主流的NOSQL产品 3. Redis的理解 4. redis数据存储格式 4.1 String 4.2 Hash 4.3 List 4.4 Set 4.5. sorted_set 注:手机端浏览本文章可能会出现 “目录”无法有效展示的情况,请谅解&#xf…

Hive:数据仓库利器

1. 简介 Hive是一个基于Hadoop的开源数据仓库工具,可以用来存储、查询和分析大规模数据。Hive使用SQL-like的HiveQL语言来查询数据,并将其结果存储在Hadoop的文件系统中。 2. 基本概念 介绍 Hive 的核心概念,例如表、分区、桶、HQL 等。 …

Tomcat Session ID---会话保持

简单拓补图 一、负载均衡、反向代理 7-1nginx代理服务器配置 [rootdlnginx ~]#yum install epel-release.noarch -y ###安装额外源[rootdlnginx ~]#yum install nginx -y[rootdlnginx ~]#systemctl start nginx.service[rootdlnginx ~]#systemctl status nginx.service [ro…

Javaweb学习记录(四)分层处理架构-分层解耦

三层架构 程序设计分为下面三层架构,分别为Controller控制层,Service逻辑处理层,Dao数据访问层。这三层各自执行自己所对应的功能,使程序的扩展性和可维护性提高 例如下面我想设计一个分层的程序,实现Controller层&am…

MidJourney 使用指北

官网:docs.midjourney.com 文档:docs.midjourney.com/docs/quick-… PS:魔法需要订阅使用了 准备工作 一、进入 discord官网 二、下载 Discord App 三、注册Discord账号 创建服务器 登录 discord App,点击添加按钮&#xff…

AJAX——综合案例

1 Bootstrap弹框 功能&#xff1a;不离开当前页面&#xff0c;显示单独内容&#xff0c;供用户操作 步骤&#xff1a; 引入bootstrap.css和bootstrap.js准备弹框标签&#xff0c;确认结构通过自定义属性&#xff0c;控制弹框的显示和隐藏 <!DOCTYPE html> <html la…

详解Java常用排序算法(10种,含演示动画)

Java常用的排序算法有以下几种&#xff1a; 冒泡排序&#xff08;Bubble Sort&#xff09;选择排序&#xff08;Selection Sort&#xff09;插入排序&#xff08;Insertion Sort&#xff09;希尔排序&#xff08;Shell Sort&#xff09;归并排序&#xff08;Merge Sort&#x…

Android Studio:你的主机中的软件终止了一个已建立的连接

我不喜欢等人也不喜欢被别人等——赤砂之蝎 一、提出问题 二、分析问题 搜索网上的教程尝试解决 1、任务管理器结束adb进程无用 2、电脑没有开启热点排除热点问题 3、校园网切换到热点 4、项目重新解压打开 5、更换国内镜像源 上述方法全部无法解决问题 分析问题原因在于之前A…

Github 2024-03-18 开源项目周报Top15

根据Github Trendings的统计,本周(2024-03-18统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目6TypeScript项目2Go项目2JavaScript项目2非开发语言项目1HTML项目1CSS项目1Rust项目1Dart项目1C++项目1Jupyter Notebook项目1Electr…

JVM中对象创建过程

在JVM中对象的创建&#xff0c;我们从一个new指令开始&#xff1a; 这个过程大概图示如下&#xff1a; 虚拟机收到new指令触发。 类加载检查&#xff1a;如果类没有被类加载器加载&#xff0c;则执行类加载流程&#xff08;将class信息加载到JVM的运行时数据区的过程&#xff…

Stable Diffusion + Segment Anything试用

安装 从continue-revolution/sd-webui-segment-anything安装插件分割模型下载后放到这个位置&#xff1a;${sd-webui}/extension/sd-webui-segment-anything/models/sam下&#xff0c;可以下载3个不同大小的模型&#xff0c;从大到小如下&#xff1a;vit_h is 2.56GB, vit_l i…

Java后端八股----JVM篇

上图中线程1&#xff0c;2如果资源被抢占了&#xff0c;则程序计数器记录一下执行的行号&#xff0c;等到资源就绪后会从记录的行号继续向后执行。 Java8把静态变量以及常量放到了线程的本地内存原空间中(避免放在堆中不可控)。 &#x1f446;图中第二种情况不太容易出现…

Linux docker2--镜像及容器操作-nginx部署示例

一、上一篇已经完成了docker的基础环境搭建&#xff0c;和docker的安装。不清楚的小伙伴可以自己找上一篇看一下。本例以部署nginx为例展示 二、镜像相关 1、切换docker的镜像源为阿里云 命令&#xff1a; sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <&l…

敏捷开发——elementUI/Vue使用/服务器部署

1. 创建vue项目 2. 安装element-ui组件库 npm i -S element-ui或 npm install element-ui3. 在main.js中导入element-ui组件 import ElementUI from element-ui import element-ui/lib/theme-chalk/index.css Vue.use(ElementUI)4. 运行 npm run serve后可以使用 ctrc终止进…

如何选择合适的数据可视化工具?

如果是入门级的数据可视化工具&#xff0c;使用Excel插件就足够了&#xff01; Excel插件&#xff0c;tusimpleBI 是一款 Excel 图表插件&#xff0c;提供超过120项图表功能&#xff0c;帮助用户制作各种 Excel 所没有的高级图表&#xff0c;轻轻松松一键出图。 它能够制作10…

VUE3 组件通信

props 用途&#xff1a;可以实现父子组件、子父组件、甚至兄弟组件通信 父组件 <template><div><Son :money"money"></Son></div> </template><script setup lang"ts"> import Son from ./son.vue import { re…

量子加速超算简介

量子加速超算简介 有用的量子计算的发展是全球政府、企业和学术界的巨大努力。 量子计算的优势可以帮助解决世界上一些与材料模拟、气候建模、风险管理、供应链优化和生物信息学等应用相关的最具挑战性的问题。 要实现量子计算的优势&#xff0c;需要将量子计算机集成到现有的…