docker学习第一天框架学习以及在redhat7.9安装操作

一.docker是什么。

Docker 是一个开源的容器化平台,通过将应用程序及其依赖项(如代码、运行时环境、系统工具等)打包到轻量级、可移植的容器中,实现「一次构建,处处运行」的现代化开发模式。它利用了 Linux 内核特性来创建独立的工作环境。

基于go语言开发并遵循apache2.0协议开源。

Docker的容器技术,可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。

通俗的来说就是在主机上,主机上可以有很多相互隔离的容器,每个容器中都包含自己的应用程序。

二.docker的架构

docker各组件的作用:

Docker 客户端(Docker Client):用户与 Docker 交互的接口,接收用户命令并发送给 Docker 守护进程。

Docker 守护进程(Docker Daemon):后台服务,负责处理客户端请求,管理镜像和容器。

Docker 镜像(Docker Image):只读模板,包含运行应用所需的文件系统和环境。

Docker 容器(Docker Container):镜像的运行实例,是独立、隔离的环境。

Docker 注册表(Docker Registry):存储和分发 Docker 镜像的服务。

架构图:

架构图解释

客户端与守护进程:用户通过 Docker 客户端输入命令,如 docker build 或 docker run,客户端将这些命令发送给 Docker 守护进程进行处理。

守护进程与注册表:Docker 守护进程可以从 Docker 注册表中拉取镜像,也可以将本地构建的镜像推送到注册表中。

守护进程与镜像:守护进程负责构建新的 Docker 镜像,并将其存储在本地。

守护进程与容器:守护进程根据镜像创建和管理 Docker 容器,包括启动、停止和删除容器。

镜像与容器:Docker 容器是 Docker 镜像的运行实例,通过实例化镜像来创建容器。

三。docker与虚拟机的区别

四.docker的核心概念

镜像

是创建容器的基础

是一个只读的模板文件,里面包含运行容器中的应用程序所需要的所有资料(比如应用程序执行文件、配置文件、动态库文件、依赖包、系统文件和目录等)

容器

是用镜像运行的实例

容器可以被创建、启动、停止、删除,每个容器之间默认是相互隔离的

仓库

是用来集中保存镜像的地方

有公有仓库和私钥仓库之分

五.在虚拟机上安装:(可以参考官方的安装步骤:链接:

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

  1. 首先移除旧版本的docker 

[root@zhangjiarong local]#  yum remove docker \

> docker-client \ docker-client-latest \

> docker-common \

> docker-latest \

> docker-latest-logrotate \ docker-logrotate \

>  docker-engine

  1. 添加docker的下载源、

[root@zhangjiarong local]# mv /etc/yum.repos.d/docker-ce.repo /etc/yum.repos.d/docker-ce.repo.bak

[root@zhangjiarong local]# cat <<EOF > /etc/yum.repos.d/docker-ce.repo

> [docker-ce-stable]

> name=Docker CE Stable - \$basearch

> baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/\$basearch/stable

> enabled=1

> gpgcheck=1

> gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

> EOF

[root@zhangjiarong local]# yum clean all

[root@zhangjiarong local]# yum makecache

安装

[root@zhangjiarong local]# sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

完成

启动docker

[root@zhangjiarong local]# sudo systemctl start docker

[root@zhangjiarong local]# docker -v         #查看docker的版本信息

Docker version 26.1.4, build 5650f9b

可以自启动docker(也就是下一次开机时,docker会自启动)

[root@zhangjiarong local]# systemctl enable docker

为docker配置加速器

#首先

[root@zhangjiarong zhangjiarong]# vim /etc/docker/daemon.json
 

/etc/docker/daemon.json文件内容

{
  "registry-mirrors": ["https://docker.m.daocloud.io"],
  "debug": true,
  "allow-nondistributable-artifacts": ["docker.m.daocloud.io"]
}

重启docker

[root@zhangjiarong zhangjiarong]# systemctl daemon-reload
[root@zhangjiarong zhangjiarong]# systemctl restart docker
 

查看docker具体信息

测试是否可以拉取镜像

可以,表明docker已经安装并且配置成功

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

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

相关文章

QT控件 使用Font Awesome开源图标库修改QWidget和QML两种界面框架的控件图标

又一个月快要结束了&#xff0c;在这里总结下分别在QWidget和QML两种界面设计模式中应用Font Awesome开源图标库&#xff0c;修改界面的显示图标效果&#xff0c; AriaNg是aria2的可视化web界面工具,其中的图标大都是Font AWesome中的字体图标&#xff0c;某位曾经尝试将AriaNg…

Qt Quick 与 QML(四)qml中的Delegate系列委托组件

一、概念 在QML中&#xff0c;Delegate是一种非常重要的组件&#xff0c;特别是在使用ListView、GridView、PathView等视图组件时。Delegate用于定义每个列表或网格中的项目是如何展示的。通过自定义Delegate&#xff0c;你可以控制每个项目的外观和行为。 Delegate通常是一个…

android图片优化

在 Android 中加载大图时&#xff0c;如果不进行优化处理&#xff0c;很容易导致内存溢出&#xff08;OOM&#xff09;和应用卡顿。以下是几种高效处理大图加载的方法和最佳实践&#xff1a; 1. 使用图片加载库&#xff08;推荐&#xff09; 成熟的第三方库已经处理了内存管理…

【机器人】复现 DOV-SG 机器人导航 | 动态开放词汇 | 3D 场景图

DOV-SG 建了动态 3D 场景图&#xff0c;并使用LLM大型语言模型进行任务分解&#xff0c;从而能够在交互式探索过程中对 3D 场景图进行局部更新。 来自RA-L 2025&#xff0c;适合长时间的 语言引导移动操作&#xff0c;动态开放词汇 3D 场景图。 论文地址&#xff1a;Dynamic …

mongodb 中dbs 时,local代表的是什么

在 MongoDB 中&#xff0c;local 是一个内置的系统数据库&#xff0c;用于存储当前 MongoDB 实例&#xff08;或副本集节点&#xff09;的元数据和内部数据&#xff0c;与其他数据库不同&#xff0c;local 数据库的数据不会被复制到副本集的其他成员。 local 数据库的核心作用 …

Spring Cloud(微服务部署与监控)

&#x1f4cc; 摘要 在微服务架构中&#xff0c;随着服务数量的增长和部署复杂度的提升&#xff0c;如何高效部署、持续监控、快速定位问题并实现自动化运维成为保障系统稳定性的关键。 本文将围绕 Spring Cloud 微服务的部署与监控 展开&#xff0c;深入讲解&#xff1a; 微…

音频动态压缩算法曲线实现

Juce实现动态压缩曲线绘制 动态范围压缩算法&#xff08;Dynamic Range Compression&#xff0c;DRC&#xff09;是将音频信号的动态范围映射到一个较小的范围内的过程&#xff0c;即降低较高的峰值的信号电平&#xff0c;而不处理较安静的部分。DRC被广泛用于音频录制、制作工…

技术视界 | OpenLoong 控制框架:打造通用人形机器人智能系统的中枢基座

在人形机器人向通用性、智能化方向加速演进的当下&#xff0c;控制系统的角色正在发生根本变化&#xff1a;它不再只是底层驱动的接口适配层&#xff0c;也不只是策略调用的转译引擎&#xff0c;而是成为连接具身模型、异构本体与多样化任务的“中枢神经系统”。 在 2025 年张…

IOS 蓝牙连接

最近做一个硬件设备&#xff0c;写IOS相应的数据连接/分析代码时&#xff1b;发现一个问题&#xff0c;如果是开机&#xff0c;每次都能连接上。连接断开后&#xff0c;发现再也扫描不到了。通过第三方工具LightBlue&#xff0c;发现信号是-127。 此时进入设置查看蓝牙设备&am…

【硬核数学 · LLM篇】3.1 Transformer之心:自注意力机制的线性代数解构《从零构建机器学习、深度学习到LLM的数学认知》

我们已经完成了对机器学习和深度学习核心数学理论的全面探索。我们从第一阶段的经典机器学习理论&#xff0c;走到了第二阶段的深度学习“黑盒”内部&#xff0c;用线性代数、微积分、概率论、优化理论等一系列数学工具&#xff0c;将神经网络的每一个部件都拆解得淋漓尽致。 …

flutter封装vlcplayer的控制器

import dart:async;import package:flutter_vlc_player/flutter_vlc_player.dart; import package:flutter/material.dart;class GlobalVlcController extends ChangeNotifier {//设置单例/*static final GlobalVlcController _instance GlobalVlcController._internal();fact…

SEO-滥用元机器人、规范或 hreflang 标签

&#x1f9f1; 一、滥用 Meta Robots 标签 ❌ 常见问题&#xff1a; 问题描述设置了 noindex 不该屏蔽的页面比如产品页、分类页被意外 noindex&#xff0c;导致不被收录设置 nofollow 导致内链失效所有链接都被 nofollow&#xff0c;影响爬虫抓取路径在 <meta> 标签和…

笨方法学python -练习14

程序&#xff1a; from sys import argv script, user_name argv prompt > print(f"Hi {user_name}, Im the {script} script.") print("Id like to ask you a few questions.") print(f"Do you like me {user_name}?") likes in…

Frida:配置自动补全 in VSCode

1. 前言 编写 frida JavaScript 脚本是一件 very 普遍的事情在 Android Reverse 中。为了方便编写&#xff0c;配置相关的环境使其能够自动补全是很关键的&#xff0c;即通过类名就能够获取该类的所有对外接口信息&#xff0c;这是面向对象编程的核心优势&#xff0c;可惜我没…

FPGA矩阵算法实现

简介 现如今设计上对速度的要求越来越高&#xff0c;而矩阵相乘含有大量的乘法和加法计算&#xff0c;造成计算时间长从而影响性能&#xff0c;本章节利用FPGA实现浮点型矩阵运算&#xff0c;可在极短时间内完成矩阵运算。 知识介绍 矩阵计算公式如下&#xff1a; 需要保证A的…

C#可空类型详解:从基础到高级应用

C#可空类型详解&#xff1a;从基础到高级应用 在C#编程中&#xff0c;可空类型是一个非常重要的概念&#xff0c;它允许我们为值类型&#xff08;如int、bool、DateTime等&#xff09;分配null值&#xff0c;从而增强了代码的表达能力和灵活性。本文将详细介绍C#中可空类型的各…

Elasticsearch:异常检测入门

在我之前的文章里&#xff0c;我有讲述很多有关使用机器学习来针对数据做异常监测的文章。你可以在 “开发者上手指南” 里的 “机器学习” 章节中找到。在今天的练习中&#xff0c;我将使用最新的 Elastic Stack 9.0.2 来展示如何在 Elasticsearch 中使用机器学习的方法来进行…

ARuler3.1.3 | 高级版测量应用,利用AR技术测量所有

ARuler是一款非常便捷的测量应用程序&#xff0c;专为需要精确测量的用户设计。它不仅具备强大的3D测量功能&#xff0c;还利用增强现实&#xff08;AR&#xff09;技术&#xff0c;为用户提供多种测量选项&#xff0c;包括角度、长度、宽度、高度、面积和体积等。无论是日常生…

MapReduce分布式计算框架:从原理到实战

大家好&#xff01;今天我们来聊聊大数据处理领域的一个重要框架——MapReduce。作为Google提出的经典分布式计算模型&#xff0c;MapReduce极大地简化了海量数据的处理流程。无论你是大数据新手还是有一定经验的开发者&#xff0c;这篇文章都会让你对MapReduce有更深入的理解。…

Redis 7 及更高版本的脚本化方案

一、背景与动机 传统的 Redis 脚本机制依赖于客户端加载 EVAL 脚本&#xff0c;存在以下局限&#xff1a; 网络与编译开销 每次调用都要传输脚本源码或重新加载 SHA1。缓存失效风险 重启、主从切换、SCRIPT FLUSH 后脚本缓存丢失&#xff0c;事务易失败。调试与运维困难 SHA1…