Docker概念基本介绍以及安装

news2024/11/24 2:20:08

目录

一、Docker概述

1.1Docker是什么

1.2Docker和虚拟机的区别

1.3使用场景 

1.4 Docker 三要素(核心组件) 

1.5六大名称空间

1.6 Docker引擎

 1.7资源控制——cgroups

1.8容器特性

1.9 容器小的架构体系

二、Docker和虚拟化的区别 

三、docker安装步骤详解


一、Docker概述

1.1Docker是什么

  • 是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源
  • 是在Linux容器里运行应用的开源工具
  • 是一种轻量级的“虚拟机”
  • Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。

1.2Docker和虚拟机的区别

1.3使用场景 

  • 对应用的打包与部署自动化
  • 创建轻量、私密的PAAS环境
  • 实现自动化测试和持续的集成/部署
  • 部署与扩展webapp、数据库和后台服务

①打包应用程序部署简单

②可脱离底层硬件任意迁移(实现了应用的隔离,将应用拆分并进行解耦)例如:需要把服务器从腾讯云迁移到阿里云,如果采用的是 Docker 容器技术,整个迁移的过程只需要在新的服务器上启动我们需要的容器就可以了。

③适合做微服务的部署

④适合持续集成和持续交付(CI/CD):开发到测试发布

1.4 Docker 三要素(核心组件) 

  • 镜像:创建容器的基础,就是一个可执行的压缩包,是一个只读模板,包含运行应用程序所需要的所有资源。
  • 容器:基于镜像创建的运行实例。容器间相互隔离。
  • 仓库:用于集中存放镜像的地方,分为公有仓库和私有仓库。

 

  1. 客户端发起各种各样的命令,给与主机
  2. 主机会调用镜像,如果有镜像直接用,运行为容器
  3. 如果镜像里没有会到registry公共仓库去拉去镜像,拉到本地后再运行为容器

1.5六大名称空间

namespace资源隔离——用容器技术封装

 

1.6 Docker引擎

Docker Engine是具有以下主要组件的客户端-服务器(C/S架构)应用程序:

  • server端:服务器是一种长期运行的程序,称为守护程序进程( dockerd命令)。
  • client端:REST API,它指定程序可以用来与守护程序进行通信并指示其操作的接口。
  • 命令行界面(cLI)客户端((docker命令)。

docker run

docker start

docker rm
 

 1.7资源控制——cgroups

  • 六种名称空间是由cgroups管理的
  • 最后一种centos的cgroups管理版本是3.8版本,3.6和3.5用不了
  • cgroups 管理linux内核态中资源管理的模块
  • cgroups 管理一些系统资源
  • 不是docker原生的。

1.8容器特性

特性——》性能损耗10-20%

  • 灵活:即使是最复杂的应用也可以集装箱化。
  • 轻量级:容器利用并共享主机内核。
  • 可互换:可以即时部署更新和升级。
  • 便携式:可以在本地构建,部署到云,并在任何地方运行。
  • 可扩展:可以增加并自动分发容器副本。
  • 可堆叠:可以垂直和即时堆叠服务。

1.9 容器小的架构体系

二、Docker和虚拟化的区别 

  • 容器是依赖于内核来隔离,彼此的关系像共享一样,所以安全性较之虚拟机差一些,毕竟不是完全隔离。所以若一个容器被黑客攻破,宿主机基本也就没了。
  • 这里也不是完全没有办法,那就是 cgroup 资源分配,其能提供一定的安全机制

三、docker安装步骤详解

docker初期版本是1.13(同一版本,开源)

——》分类型 1.15 - 1.17 过程中分成两种。

①开源社区 docker-ce ②企业版 docker-ee

目前 Docker 只能支持 64 位系统。

1.#关闭防火墙
systemctl stop firewalld.service
setenforce 0

2.#安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2 
--------------------------------------------------------------------------------
#yum-utils:提供了 yum-config-manager 工具。
#device mapper: 是Linux内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。
#device mapper存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
--------------------------------------------------------------------------------

3.#设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 



4.#安装 Docker-CE 社区版并设置为开机自动启动
yum install -y docker-ce

systemctl start docker.service
systemctl enable docker.service 

5.#查看 docker 版本信息
docker version

编译安装

tar zxvf docker-19.03.9.tgz
mv docker/* /usr/bin

cat > /usr/lib/systemd/system/docker.service << EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
EOF

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

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

相关文章

MATLAB循环类型

MATLAB 提供以下类型的循环处理循环的要求。点击链接&#xff0c;查看个循环类型的细节&#xff1a; 循环类型描述while 循环一个给定的条件为真时重复语句或语句组。测试条件才执行循环体。for 循环执行的语句序列多次缩写管理循环变量的代码。nested 循环可以使用一个或多个…

2022年深度学习最新研究成果

一、开源深度学习编译器 二、 开源深度学习加速器 三、AITemplate引擎 四、微型机器学习框架 参考文献&#xff1a;https://arxiv.org/pdf/1510.00149.pdf 五、Contrastive Learning 对比学习综述 六、Diffusion Model 扩散模型综述 Diffusion Models: A Comprehensive Surv…

【Python百日进阶-WEB开发】Day180 - Django案例:12用户登录

文章目录十、异步发送短信验证码 - 异步方案Celery10.1 生产者消费者设计模式10.2 Celery介绍10.3 Celery介绍和使用10.3.1十一、用户账号 登录11.1 用户登录11.1.1 用户登录逻辑分析11.1.2 用户登录接口设计和定义11.1.3 用户登录后端逻辑11.2 多账号登录11.2.1 自定义用户认证…

实战三:基于LGB实现车联网大数据碰撞识别 代码+数据(非常详细可作为毕设)

项目介绍&#xff1a; 使用的数据为采集车辆信号。车辆信息非常多&#xff0c;而且用户路况信息和使用偏好千人千面&#xff0c;很难找到一种准确识别碰撞的方法&#xff0c;希望参赛者通过车联网大数据识别车辆碰撞和碰撞时间。车辆标签信息如下&#xff1a; 车号LabelCollec…

SpringBoot SpringBoot 开发实用篇 4 数据层解决方案 4.5 SpringBoot 整合 Redis

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇4 数据层解决方案4.5 SpringBoot 整合 Redis4.5.1 环境准备4.5.2 使用…

多系统-单点登录测试

单点登录 文章目录单点登录单点登录 单点登录全程Single Sign On&#xff08;SSO&#xff09;,在多个应用系统中&#xff0c;用户只需要登录一次就可以访问所有相互信任的应用系统&#xff0c;包括单点登录和单点注销两部分&#xff0c;是目前比较流行的企业业务整合的解决方案…

SpringBoot SpringBoot 开发实用篇 4 数据层解决方案 4.1 内置数据源

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇4 数据层解决方案4.1 内置数据源4.1.1 现有数据层解决方案4.1.2 小结…

波束形成,通过matlab仿真不同参数的波束形成以及旁絆级

目录 1.算法概述 2.仿真效果预览 3.核心MATLAB代码预览 4.完整MATLAB程序 1.算法概述 波束成形技术&#xff08;Beam Forming&#xff0c;BF&#xff09;可分为自适应波束成形、固定波束和切换波束成形技术。固定波束即天线的方向图是固定的&#xff0c;把IS-95中的三个120…

同花顺_代码解析_技术指标_B

本文通过对同花顺中现成代码进行解析&#xff0c;用以了解同花顺相关策略设计的思想 目录 BBI BBIBOLL BETA BIAS BIASFS BOLL BOLLFS BTI BBI 多空指标 多空指标:(收盘价的M1日简单移动平均收盘价的M2日简单移动平均收盘价的M3日简单移动平均收盘价的M4日简单移动平均…

G蛋白偶联受体/激酶/离子通道——高通量筛选

GPCR Library &#xff08;含54,080 种化合物&#xff09;用于发现新的GPCR配体 G蛋白偶联受体 (GPCR)是新药研发人员关注的一类重要蛋白&#xff0c;三分之一FDA 批准药物靶向 GPCR。GPCR Library 涵盖了广泛的 GPCR 靶标&#xff0c;库中化合物具有新颖性和高度多样性的特…

C++不知算法系列之集结常规算法思想

1. 前言 数据结构和算法是程序的 2 大基础结构&#xff0c;如果说数据是程序的汽油&#xff0c;算法则就是程序的发动机。 什么是数据结构&#xff1f; 指数据之间的逻辑关系以及在计算机中的存储方式&#xff0c;数据的存储方式会影响到获取数据的便利性。 现实生活中&…

JVM和Java体系结构

前言 作为Java工程师的你曾被伤害过吗&#xff1f;你是否也遇到过这些问题&#xff1f; 运行着的线上系统突然卡死&#xff0c;系统无法访问&#xff0c;甚至直接OOMM&#xff01; 想解决线上JVM GC问题&#xff0c;但却无从下手。 新项目上线&#xff0c;对各种JVM参数设置…

【LeetCode】【简单】【4】70. 爬楼梯

题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 动态规划 参考链接&#xff1a;动态规划详解 简单来说&#xff0c;动态规划其实就是&#xff0c;给定一个问题&#xff0c;我们把它拆成一个…

贯叶连翘及其天然产物的介绍

贯叶连翘 (Hyperlcurn perforatum L.) 为藤黄科 (Guttiferae) 植物&#xff0c;又名贯叶金丝桃&#xff0c;赶山鞭&#xff0c;小对叶草、千层楼等。迄今为止&#xff0c;已有众多的活性化合物从贯叶连翘中被分离出来。贯叶连翘中不同的成分具有多重药理活性&#xff0c;如其中…

数据结构题目收录(十八)

1、若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素&#xff0c;则采用____存储方式最节省运算时间。 A&#xff1a;单链表B&#xff1a;仅有头指针的单循环链表C&#xff1a;双链表D&#xff1a;仅有尾指针的单循环链表 解析 选项A、单链表插入…

Java_Map

字典(Map) 概述 HashMap 定义方法 public static void main(String[] args) {// HashMap<Integer, String> Map new HashMap<Integer, String>(); // 定义方法一Map<Integer, String> map new HashMap<Integer, String>(); // 定义方法二// map没…

(续)SSM整合之springmvc笔记(域对象共享数据)(P136-138)

目录 一 使用ServletAPI向request域对象共享数据 二 使用ModelAndView向request域对象共享数据 1 新建TestScopeController 2 index.html 3 书写TestScopeController 4 success.html 5 测试 三 使用Model向request域对象共享数据 1 index.html 2 TestSc…

HTNL---表格标签和列表标签

一、表格标签 对于表格我想就不用做很多细说了吧&#xff0c;Excel大家应该都知道。HTML中的表格不是用来布局页面的而是用来展示数据的。 1&#xff1a;表格标签基本使用 <table> <tr><th>姓名</th> <th>年龄</th> <td>第一</…

【Note5】macvlan,spi,rsyslog,sol

文章目录1.BMC虚拟多网口&#xff1a;macvlan是kernel提供的一种网卡虚拟化技术&#xff0c;可将网卡&#xff08;不一定是真实的物理网卡&#xff09;虚拟出多个接口&#xff0c;这网卡称为master或父接口&#xff0c;这些虚拟接口和外面环境通信都是通过父接口1.1 bridge&…

RESTful 接口设计拓展,接口设计注意事项,注解的简化

文章目录RESTful 接口设计拓展1.多参数传递2.URL拓展3.RESTful接口注意事项4.注解的简化RESTful 接口设计拓展 1.多参数传递 /*** 获取某一个员工&#xff0c;多参数* 1. 请求路径--确认资源--员工--/employees* 2. 请求方法--get* 3. 请求参数--id&#xff0c;name,age* 4. …