当前位置: 首页 > news >正文

认识容器,走进Docker

文章目录

      • 容器技术简介
        • 容器的核心技术
        • 容器平台技术
        • 容器的支持技术
      • Docker理念
      • Docker安装
      • 配置阿里云镜像加速器

容器技术简介

一切在云端,万物皆容器,说到容器,大家都会想到Docker,Docker现在几乎是容器的代名词,什么是Docker? 为什么会出现呢?
正如所谓的AB法则,before之前是什么,为什么出现after,互联网公司技术部门开发工程师、测试工程师、运维工程师、常常因为的所使用的环境不一致,频繁出现我这里可以运维,你那边为什么不能部署?加大了开发和运维的沟通成本,加班现象常常出现,容器的诞生很好的解决了开发与运维的沟通,解决了运行环境和配置问题的软件容器,方便做集成并有助于整体发布的容器虚拟化技术。达到了一次编译,到处运行的效果,那么容器生态系统包含了哪些技术呢?

容器的核心技术

容器给的核心技术主要包括、容器规范、容器的runtime、容器管理工具、Registries

(1)容器规范:
为了保证不同容器之间能够兼容,Google在内的若干公司成立了一个叫OPen Container Initative (OCI)的组织,其目的是为了制定容器开放的容器规范。

目前OCI发布了两个规范:runtime spec和image format spec。有了这两个规范,不同组织和厂商开发的容器能够在不同的runtime上运行。这样保证了容器的可移植性和互相操作性。

容器runtime
runtime是容器真正运行的地方,容器运行时提供了对容器的抽象层,使得容器可以像独立的进程一样在主机上运行。runc 是DOcker自己开发的容器runtime,符合oci规范,也是现在的Docker的默认runtime。

(2)容器管理工具

只有runtime还不够,用户得有工具来管理容器,runc的管理工具是docker engine 包含了后台deamon和cli docker Daemon客户端工具,用于同Docker Daemon进行通信,执行用户指令,可部署在Docker Host上,也可以部署在其它主机,能够连接到Docker Daemon即可操作, Docker CLI是Docker的命令行工具,它提供了一组命令,可以用来管理Docker容器、镜像、网络和卷等。

(3)Registry
容器是通过image创建的,需要有一个仓库来统一存放image,这个仓库就叫做Registry,功能类似github 企业可以用docker Registry搭建私有的Registry。

容器平台技术

容器平台技术、包括容器编排引擎、容器管理平台等

(1)容器编排引擎
所谓的编排,通常包括容器管理、调度、集群、服务发现等,通过容器编排引擎,完成微服务的调用,实现业务需求。自动化集成:Kubernetes容器引擎,Kubernetes简称K8S,是一个开源的分布式的容器编排引擎,用来对容器化应用进行自动化部署和管理。

(2)容器的管理平台

容器给管理平台是架构在容器编排引擎之上的一个更为通用平台,用来管理容器的生命周期,容器日常的运维,如启停、查看日志等,Portainer正是容器管理平台的一种,支持多种容器技术,如Docker、Kubernetes和Swarm等。它提供了一个易于使用的Web UI界面,可用于管理和监控容器和集群。

容器的支持技术

容器的支持技术主要分为容器的网络(docke network)、服务发现(etcd zookeeper)、监控(Promethus)、数据管理(容器与主机之前的数据管理技术)、日志管理(kibanna)、安全性等

Docker理念

Docker是基于Go语言实现的云开源项目。也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”。

Docker的出现解决了什么问题?
通过镜像成为运行在Docker容器上面的实例,而 Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。
在这里插入图片描述

容器与虚拟机的对比

虚拟机的缺点:
1 资源占用多
2 冗余步骤多
3 启动慢

容器的优点
1.启动速度快
2.占用体积下
3.容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。
4.性能、尤其是内存和IO的开销

Docker安装

CentOS Docker 安装

Centos 7下载路径

https://docs.docker.com/engine/install/centos/

安装步骤
1.卸载旧版本

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

2.yum安装gcc相关
确保能上外网
安装gcc

yum -y install gcc
yum -y install gcc-c++

3.安装所需要的软件包并设置仓库地址
在新主机上首次安装Docker Engine之前,您需要设置Docker存储库。之后,您可以从存储库中安装和更新Docker

yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo (不推荐)

推荐使用阿里的仓库地址

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.更新yum软件包索引
yum makecache fast ( 将软件包信息提前在本地索引缓存,用来提高搜索安装软件的速度,建议执行这个命令可以提升yum安装的速度)

5.安装docker Engine(引擎)

安装Docker引擎、容器和Docker Compose

 yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

6.启动docker

systemctl start docker

7.测试docker

systemctl  status docker
docker version
docker run hello-world

8.卸载docker

(1).卸载Docker Engine cli、containerd和Docker Compose软件包:

yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

(2)主机上的映像、容器、卷或自定义配置文件不会自动删除。要删除所有图像、容器和卷,请执行以下操作:

rm -rf /var/lib/docker
rm -rf /var/lib/containerd

配置阿里云镜像加速器

地址:https://cr.console.aliyun.com/cn-hangzhou/instances

1.输入淘宝账号进行登录

2.登录成功后进入到容器镜像服务页面,选择镜像工具>镜像加速器>获取镜像加速器地址

https://o8g3n837.mirror.aliyuncs.com
在这里插入图片描述

3.配置镜像加速器
根据所安装操作系统镜像版本选择对应的安装步骤
在这里插入图片描述
4.修改daemon.json文件

mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://o8g3n837.mirror.aliyuncs.com"] }EOF

相关文章:

认识容器,走进Docker

文章目录 容器技术简介容器的核心技术容器平台技术容器的支持技术 Docker理念Docker安装配置阿里云镜像加速器 容器技术简介 一切在云端&#xff0c;万物皆容器&#xff0c;说到容器&#xff0c;大家都会想到Docker,Docker现在几乎是容器的代名词&#xff0c;什么是Docker&…...

初始web

华子目录 前后端与全栈BS架构网页开发原则前端三剑客初始htmlhtml的基本框架如何使用vscode创建网页网页基本框架html基本标签 前后端与全栈 前端:给用户看的内容 – 荧幕前&#xff08;负责显示&#xff09; 后端:在后台处理数据 – 荧幕后&#xff08;负责处理&#xff09; …...

JVM中释放内存的三种方法

判断是否需要垃圾回收可以采用分析。 1标记--清除算法 分为两个阶段&#xff0c;标记和清除&#xff0c;先利用可达性分型标记还存活的对象&#xff0c;之后将没有被标记的对象删除&#xff0c;这样容易生成空间碎片&#xff0c;而且效率不稳定 标记阶段&#xff1a; 标记阶段…...

图床项目进度(一)——UI首页

1. 前言 前面我不是说了要做一个图床吗&#xff0c;现在在做ui。 我vue水平不够高&#xff0c;大部分参考b站项目照猫画虎。 vue实战后台 我使用ts&#xff0c;vite&#xff0c;vue3进行了重构。 当然&#xff0c;我对这些理解并不深刻&#xff0c;许多代码都是游离于表面&am…...

vue3父子组件相互调用方法详解

vue3父子组件相互调用方法详解 1、前言2、父组件调用子组件方法2.1 子组件Child.vue2.2 父组件Father.vue 3、子组件调用父组件方法3.1 父组件Father.vue3.2 子组件Child.vue 1、前言 在vue3项目开发中&#xff0c;我们常常会遇到父子组件相互调用的场景&#xff0c;下面以set…...

Java之接口

作者简介&#xff1a; zoro-1&#xff0c;目前大一&#xff0c;正在学习Java&#xff0c;数据结构等 作者主页&#xff1a; zoro-1的主页 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f496; Java之接口 接口的概念语法规则接口特性接口使用案…...

QT学习笔记-QT5.15编译及安装谷歌拼音输入法(QtInputMethod_GooglePinyin)

QT学习笔记-QT5.15编译及安装谷歌拼音输入法&#xff08;QtInputMethod_GooglePinyin&#xff09; 0、背景1、环境2、下载QtInputMethod_GooglePinyin源码3、使用MinGW64构建套件编译3.1 编译QtInputMethod_GooglePinyin源码3.2、部署tgtsmlInputContextPlugin输入法插件3.3、运…...

python 使用 pdf2image 库将PDF转换为图片

在 Ubuntu 上实现网络穿透&#xff1a;手把手教你搭建FRPS服务器 初环境步骤一&#xff1a;安装pdf2image库步骤二&#xff1a;导入必要的库步骤三&#xff1a;指定PDF文件路径步骤四&#xff1a;将PDF转换为图片步骤五&#xff1a;保存图像为图片文件完整代码运行结果 在数字化…...

kubernetes(namespace、pod、deployment、service、ingress)

NameSpace NameSpace名称空间 用来隔离资源&#xff0c;但是不隔离网络 使用命令行&#xff1a; kubectl create ns hello #创建 kubectl delete ns hello #删除 kubectl get ns #查看使用配置文件&#xff1a; vi hello.yamlapiVersion: v1 kind: Namespace metadata:name…...

深度学习loss变为nan的问题

在网上查了一些资料&#xff0c;但是这个情况和网上都不太一样。前100epoch能正常训练&#xff0c;loss缓慢下降&#xff0c;精度缓慢增大&#xff0c;但是突然loss就Nan了&#xff0c;我想应该不是样本问题也不是梯度爆炸或者loss中有除0吧&#xff0c;毕竟都训练了100epoch了…...

音视频 ffplay命令-主要选项

选项说明-x width强制显示宽带-y height强制显示高度-video_size size帧尺寸 设置显示帧存储(WxH格式)&#xff0c;仅适用于类似原始YUV等没有包含帧大小(WxH)的视频-pixel_format format格式设置像素格式-fs以全屏模式启动-an禁用音频&#xff08;不播放声音&#xff09;-vn禁…...

深入浅出Pytorch函数——torch.nn.init.dirac_

分类目录&#xff1a;《深入浅出Pytorch函数》总目录 相关文章&#xff1a; 深入浅出Pytorch函数——torch.nn.init.calculate_gain 深入浅出Pytorch函数——torch.nn.init.uniform_ 深入浅出Pytorch函数——torch.nn.init.normal_ 深入浅出Pytorch函数——torch.nn.init.c…...

[Go版]算法通关村第十三关青铜——数字数学问题之统计问题、溢出问题、进制问题

这里写自定义目录标题 数字统计专题题目&#xff1a;数组元素积的符号思路分析&#xff1a;无需真计算&#xff0c;只需判断负数个数是奇是偶复杂度&#xff1a;时间复杂度 O ( n ) O(n) O(n)、空间复杂度 O ( 1 ) O(1) O(1)Go代码 题目&#xff1a;阶乘尾数0的个数思路分析&am…...

GPT-4一纸重洗:从97.6%降至2.4%的巨大挑战

斯坦福大学和加州大学伯克利分校合作进行的一项 “How Is ChatGPTs Behavior Changing Over Time?” 研究表明&#xff0c;随着时间的推移&#xff0c;GPT-4 的响应能力非但没有提高&#xff0c;反而随着语言模型的进一步更新而变得更糟糕。 研究小组评估了 2023 年 3 月和 20…...

大数据Flink学习圣经:一本书实现大数据Flink自由

学习目标&#xff1a;三栖合一架构师 本文是《大数据Flink学习圣经》 V1版本&#xff0c;是 《尼恩 大数据 面试宝典》姊妹篇。 这里特别说明一下&#xff1a;《尼恩 大数据 面试宝典》5个专题 PDF 自首次发布以来&#xff0c; 已经汇集了 好几百题&#xff0c;大量的大厂面试…...

什么是微服务?

2.微服务的优缺点 优点 单一职责原则每个服务足够内聚&#xff0c;足够小&#xff0c;代码容易理解&#xff0c;这样能聚焦一个指定的业务功能或业务需求&#xff1b;开发简单&#xff0c;开发效率提高&#xff0c;一个服务可能就是专一的只干一件事&#xff1b;微服务能够被小…...

【C++入门到精通】C++入门 —— 容器适配器、stack和queue(STL)

阅读导航 前言stack1. stack概念2. stack特点3. stack使用 queue1. queue概念2. queue特点3. queue使用 容器适配器1. 什么是适配器2. STL标准库中stack和queue的底层结构3. STL标准库中对于stack和queue的模拟实现⭕stack的模拟实现⭕stack的模拟实现 总结温馨提示 前言 文章…...

系统架构设计专业技能 · 软件工程之需求工程

系列文章目录 系统架构设计高级技能 软件架构概念、架构风格、ABSD、架构复用、DSSA&#xff08;一&#xff09;【系统架构设计师】 系统架构设计高级技能 系统质量属性与架构评估&#xff08;二&#xff09;【系统架构设计师】 系统架构设计高级技能 软件可靠性分析与设计…...

2023国赛数学建模E题思路模型代码 高教社杯

本次比赛我们将会全程更新思路模型及代码&#xff0c;大家查看文末名片获取 之前国赛相关的资料和助攻可以查看 2022数学建模国赛C题思路分析_2022国赛c题matlab_UST数模社_的博客-CSDN博客 2022国赛数学建模A题B题C题D题资料思路汇总 高教社杯_2022国赛c题matlab_UST数模社…...

Baumer工业相机堡盟工业相机如何通过BGAPISDK设置相机的Bufferlist序列(C++)

Baumer工业相机堡盟工业相机如何通过BGAPISDK设置相机的Bufferlist序列&#xff08;C&#xff09; Baumer工业相机Baumer工业相机的Bufferlist序列功能的技术背景CameraExplorer如何查看相机Bufferlist功能在BGAPI SDK里通过函数设置相机Bufferlist参数 Baumer工业相机通过BGAP…...

LabVIEW以声卡为数据采集设备开发数据采集处理系统。 具备声卡参数设置,实现文件自动存储、...

LabVIEW以声卡为数据采集设备开发数据采集处理系统。 具备声卡参数设置&#xff0c;实现文件自动存储、以及文件手动存储两种功能&#xff0c;进行采集数据的分析&#xff0c;包括频域分析&#xff0c;滤波处理等功能&#xff1b; 程序实验报告在工业测量和实验室场景中&#x…...

Qwen3模型快速部署教程:10分钟搞定GPU环境与首次调用

Qwen3模型快速部署教程&#xff1a;10分钟搞定GPU环境与首次调用 你是不是也对那些动辄几十GB、部署起来让人头大的大模型望而却步&#xff1f;觉得在自己的机器上跑起来一个像样的AI模型&#xff0c;是件门槛很高的事情&#xff1f; 今天&#xff0c;我就带你打破这个刻板印…...

终极指南:如何用Zotero PDF Translate插件快速突破学术语言壁垒

终极指南&#xff1a;如何用Zotero PDF Translate插件快速突破学术语言壁垒 【免费下载链接】zotero-pdf-translate 支持将PDF、EPub、网页内容、元数据、注释和笔记翻译为目标语言&#xff0c;并且兼容20多种翻译服务。 项目地址: https://gitcode.com/gh_mirrors/zo/zotero…...

VS Code + Flask新手避坑指南:从虚拟环境配置到第一个Hello World页面

VS Code Flask新手避坑指南&#xff1a;从虚拟环境配置到第一个Hello World页面 刚接触Flask框架的开发者常会遇到各种环境配置问题——虚拟环境切换失败、包导入报错、路由访问404……这些看似简单的坑往往让人耗费数小时。本文将用最小可行方案带你在VS Code中快速搭建Flas…...

OFA-Image-Caption模型服务监控与告警体系搭建

OFA-Image-Caption模型服务监控与告警体系搭建 你辛辛苦苦把那个能看懂图片并生成描述的OFA模型部署上线了&#xff0c;业务方用得很开心&#xff0c;每天处理着成千上万的图片。但某天深夜&#xff0c;你突然被电话吵醒&#xff1a;“服务挂了&#xff01;所有图片都卡住了&a…...

Spring AI + DeepSeek 实战:5分钟搞定一个能听懂人话的数据库查询工具

Spring AI DeepSeek 实战&#xff1a;5分钟搞定一个能听懂人话的数据库查询工具 在数据驱动的时代&#xff0c;数据库查询是每个开发者绕不开的日常任务。但当你面对产品经理频繁变更的需求&#xff0c;或是运营同事临时提出的数据提取请求时&#xff0c;反复编写和调试SQL语句…...

Step3-VL-10B-Base轻量级模型部署优势:低显存消耗与快速推理实测

Step3-VL-10B-Base轻量级模型部署优势&#xff1a;低显存消耗与快速推理实测 最近在星图GPU平台上折腾各种多模态大模型&#xff0c;发现一个挺有意思的现象&#xff1a;很多模型能力确实强&#xff0c;但一谈到部署&#xff0c;大家就开始头疼显存和速度。动辄几十GB的显存需…...

小波分解选型指南:如何为你的数据选择最合适的pywt小波函数(db4/haar/symlets对比)

小波分解选型指南&#xff1a;如何为你的数据选择最合适的pywt小波函数&#xff08;db4/haar/symlets对比&#xff09; 在信号处理领域&#xff0c;小波分解就像一把瑞士军刀&#xff0c;能够同时提供时域和频域的信息。但面对pywt库中琳琅满目的小波函数——从经典的Haar到复杂…...

RouterOS L2TP服务器搭建与安全优化指南

1. L2TP协议基础与RouterOS适配性 L2TP协议全称为Layer 2 Tunneling Protocol&#xff0c;是一种工作在OSI模型第二层的隧道协议。我第一次接触这个协议是在2015年为企业部署远程办公系统时&#xff0c;当时发现它相比PPTP有着明显的安全优势。简单来说&#xff0c;L2TP就像是在…...

AI开发不再卡顿:RTX4090D 24G镜像解决环境冲突全攻略

AI开发不再卡顿&#xff1a;RTX4090D 24G镜像解决环境冲突全攻略 1. 为什么选择RTX4090D 24G深度学习镜像&#xff1f; 深度学习开发者最头疼的问题莫过于环境配置。不同框架版本、CUDA版本、依赖库之间的冲突常常让人望而却步。传统环境搭建方式需要&#xff1a; 手动安装C…...