Docker运维高级容器技术知识点总结

1、虚拟机部署和容器化部署的区别是什么?

1、技术基础:

      <1>.虚拟化技术在物理硬件上创建虚拟机,每台虚拟机运行自己完整的操作系统、从而实现资源隔离。

      <2>.容器化技术:将应用程序打包在容器内,在进程空间上实现隔离。

2、资源效率和开销:

      <1>.虚拟机比较占资源、导致资源使用率高。

      <2>.容器共享宿主机操作内核、仅隔离程序进程。

3、隔离和安全性:

      <1>.虚拟化:提供强大隔离性、提供高安全性,但资源占用率大。

      <2>.容器化:虽然实现了隔离,但共享宿主内核,但是隔离性稍差。

2、什么是docker?什么是镜像、容器、仓库?

docker是一种开源平台,允许开发者将程序部署在容器中。可以部署在任何环境中,确保一致性和可移植性。

镜像是容器的模板,用来创建容器的。一个镜像可以创建出多个容器。

容器是用来运行各种应用程序、服务的。

仓库是用来存储镜像文件的地方。仓库分为公有仓库和私有仓库,存放了大量的镜像供用户下载

3、什么是docker容器?

docker容器是运行中的实例。

4、如何从dockerfile构建镜像?

使用docker build命令进行构建镜像。

docker build -t myimage:latest   // -t用于指定镜像标签

5、如何运行一个docker?

 使用docker run命令运行docker

docker run  -d  --name  mycontainer myimage:latest 
//  运行一个基于myimage:latest镜像的容器

6、如何查看正在运行的docker容器?

可以使用docker ps 命令进行查看。

如果要查看所有的容器,包括已经停止的docker ,可以使用

docker  ps  -a // 查看所有容器(包括已经停止的docker容器)

7、如何停止和删除一个容器?

使用docker stop 和 docker rm命令进行查看。

例如停止并删除mycontainer容器。

docker  stop   mycontainer  //  停止使用mycontainer容器
docker  rm     mycontainer  //  删除mycontainer容器。

8、Docker安装失败了如何进行排查?

1、检查系统是否满足Docker的安装要求。

2、在/var/log目录下进行查看日志

3、检查防火墙或云服务的安全组设置,确保Docker需要的端口没有被阻塞。

4、确保操作系统和所有软件包都是最新的,有时旧的软件包可能会导致安装问题。

5、尝试清理环境后重新安装

9、镜像管理

在dockers中镜像是容器的模板,当用户需要从Docker镜像中查找所需要的镜像。  

1、查找镜像

docker search keyword(keyword表示要查找镜像所包含的关键词)
eg:要查找出包含mysql的关键词 // docker search mysql

 2、下载镜像

查找到合适的镜像后,可以将其下载到本地计算机中,以便创建容器。

docker pull name:tag  // name为镜像名称、tag参数指定镜像标签
eg:docker pull mysql // 将mysql镜像下载到本地计算机中

3、列出本地镜像 

docker image ls  // 列出本地镜像
docker images 

4、删除镜像 

对于当前系统中已经不需要的镜像,为了节省存储空间 。可以将其删除。

可以同时删除多个镜像,多个镜像名称使用空格进行隔开即可。

docker rmi image //image为镜像名称
docker rmi -f mysql //强行删除mysql镜像

5、查看镜像

对于下载到本地的镜像文件,可以使用docker inspect进行查看详细信息。

 root@ubuntu-virtual-machine:/home/ubuntu# docker inspect mysql

 6、构建镜像

构建docker镜像有两种方法:

1、docker commit命令进行构建

2、docker build 命令和Dockerfile文件进行构建,但是过程十分繁琐。因此一般我们使用docker commit进行构镜像。

3、使用docker commit进行构建镜像。

eg:在docker中进行创建数据库mysql并进行映射到主机的3306端口

1、在docker中创建数据库

docker  run  --name  mysqltest  -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d  mysql 

//  --name 进行对容器进行命名

//  -e 对创建的MySQL进行密码设置为123456 、账号为root

//  -p 对docker创建的MySQL进行端口映射

//  -d 后台运行容器

2、进入创建好的容器mysqltest中

docker  exec  -it   mysqltest   /bin/bash 

//  -i表示交互式,-t 表示分配一个虚拟终端。/bin/bash为要执行的命令。

3、进入交互式页面

mysql  -uroot  -p 

password:123456 // 进入数据库

7、镜像标签管理

镜像标签可以区分不同的版本,镜像和标签之间可以使用冒号进行隔开。

docker提供了docker tag命令来设置镜像的标签。

docker tag httpd local/httpd // 将名称为httpd的镜像标识为local仓库的httpd

10、容器管理 

容器是docker提供网络服务的主体,为了提供mysql,apache,nginx等网络服务,用户必须创建对应的容器。

在docker中常使用docker create 创建容器,但是创建的新容器处于停止状态。

另一种是通过docker run 创建新容器,但是容器会启动。

1、创建容器
docker create [option] image
用户可通过option为容器指定相应的选项。用来设置新的容器。
--add-host=[] //指定主机到IP地址之间的关系,格式为host:ip
--dns=[] //为容器指定域名服务器
-h //为容器指定主机名
-i //打开容器的标准输入 
--name //指定容器名称
-u //创建用户

eg1:创建一个名为yunwei的容器
docker create yunwei
eg:创建一个名为yunwei的容器,创建之后立即启动该容器,并进入交互模式
root@ubuntu-virtual-machine:/home/ubuntu# docker run -it --name yunwei ubuntu /bin/bash 
root@0dd80eac1c83:/# pwd
/
root@0dd80eac1c83:/# exit
root@ubuntu-virtual-machine:/home/ubuntu# docker run -d -it ubuntu /bin/bash
// 创建一个后台型容器
ec313748b83eeda0f07681480a27003616260b2f74566541ca8c3079f513b608

2、查看容器

docker ps //查看当前正在运行的容器
docker ps -a //查看当前系统中所有的容器,包括运行中的个处于停止状态的容器
有些容器的状态为Exited 表示已经停止运行
有些容器的状态为up 表示处于运行状态
有些容器的状态为Created 表示处于创建过,但是没有启用 

查找某些特定的容器

docker ps -a -f name=crank  // -f指定筛选条件
root@ubuntu-virtual-machine:/etc/docker# docker ps -a -f name=mysql 
field=value //field表示name,image,以及status等字段

docker ps -a --before=ubuntu //ubuntu容器之前所建的所有容器
docker ps -a --since=ubuntu //Ubuntu容器之后所建的所有容器

3、启动容器

通常使用docker start命令来进行启动容器。

使用docker restart命令来进行重启容器

使用docker stop 命令来进行停止容器

使用docker kill命令来强制终止容器

使用docker rm 命令来删除容器,加上-f参数就是强制删除容器。

11、网络管理

1、docker的网络原理

在docker安装完成后,宿主机中会创建一个虚拟网桥,通常情况下为docker 0。

网桥工作在OSI七层模型中的数据链路层,在docker中各个容器是通过一个名为docker 0的网桥进行转发流量实现互联的。

一般使用brctl show命令来查看虚拟网桥docker0的信息

root@ubuntu-virtual-machine:/home/ubuntu# brctl show 
bridge name     bridge id               STP enabled     interfaces
docker0         8000.024277a58ad4       no              vethdb861c4

 2、docker的网络模式

网络模式可以在创建容器时使用 --network选项来指定。

docker网络模式一共分为4种,分别是host,container,none,bridge。

host模式:容器不会获得一个独立的Network命名空间,而是和宿主机共用一个Network命名空间。容器将不会虚拟出 自己的网卡、配置自己的IP等,而是使用宿主机的IP和端口。

container模式(容器模式):新创建的容器和已经存在的容器共享一个Network命名空间,和指定容器共用一个IP地址,端口范围 等。

none模式(无模式):docker拥有自己的Network命名空间,但是不为docker配置任何网络,需要我们自己手动添加网络配置。

bridge模式(桥接模式):bridge模式是docker默认的网络模式,此模式会为每一个容器分配一个Network命名空间,并将主机上的 docker容器连接到一个虚拟网桥上。

docker容器的网络互联:

// 创建第一个容器
root@ubuntu-virtual-machine:/home/ubuntu# docker run -d -it centos /bin/bash
394b4650ba5bfeacc9c86217f681b79ef79dcf663f65d3021b2312be1949b628
// 创建第二个容器
root@ubuntu-virtual-machine:/home/ubuntu# docker run -d -it centos /bin/bash
720e4167f96280673f5193f025cb75eaf303b972d7dca4ecc552ef0d5b11abf2
// 查看容器运行状态
root@ubuntu-virtual-machine:/home/ubuntu# docker ps 
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
c521fb7136cc   centos    "/bin/bash"   6 seconds ago    Up 5 seconds              blissful_leakey
720e4167f962   centos    "/bin/bash"   16 seconds ago   Up 15 seconds             youthful_diffie

// 获取容器的IP地址
root@ubuntu-virtual-machine:/home/ubuntu# docker exec c521fb7136cc ip a show 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
10: eth0@if11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.4/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
       
root@ubuntu-virtual-machine:/home/ubuntu# docker exec 720e4167f962 ip a show 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
8: eth0@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
      
// ip地址分别为:172.17.0.4/16;172.17.0.3/16

// 使用icmp协议ping命令查看是否可以通信
root@ubuntu-virtual-machine:/home/ubuntu# docker exec c521fb7136cc ping 172.17.0.4
PING 172.17.0.4 (172.17.0.4) 56(84) bytes of data.
64 bytes from 172.17.0.4: icmp_seq=1 ttl=64 time=0.023 ms
64 bytes from 172.17.0.4: icmp_seq=2 ttl=64 time=0.021 ms
64 bytes from 172.17.0.4: icmp_seq=3 ttl=64 time=0.022 ms

root@ubuntu-virtual-machine:/home/ubuntu# docker exec 720e4167f962 ping 172.17.0.3
PING 172.17.0.3 (172.17.0.3) 56(84) bytes of data.
64 bytes from 172.17.0.3: icmp_seq=1 ttl=64 time=0.016 ms
64 bytes from 172.17.0.3: icmp_seq=2 ttl=64 time=0.022 ms
64 bytes from 172.17.0.3: icmp_seq=3 ttl=64 time=0.021 ms

// 由此可见两容器之间都可以进行通信

// 容器与外部网络的互联通信
root@ubuntu-virtual-machine:/home/ubuntu# docker exec 720e4167f962 ping www.baidu.com 
PING www.a.shifen.com (183.2.172.185) 56(84) bytes of data.
64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=1 ttl=127 time=36.2 ms
64 bytes from 183.2.172.185 (183.2.172.185): icmp_seq=2 ttl=127 time=35.8 ms

12、Docker仓库

1、什么是Docker  Hub?

Docker Hub是Docker提供的一项服务,帮助用户查找和共享容器镜像  

2、Docker Hub的特点?

1、使用pull和push进行上传和拉取镜像。

docker  pull从Docker  Hub中进行拉取镜像到本地机器、创建容器进行使用。

docker push是将本地镜像上传到docker hub仓库,当对本地镜像进行修改之后想要分享给他人使用,可以使用

2、Docker官方镜像:提取并使用Docker提供的高质量容器镜像。  

3、使用Docker Hub

答:1、使用Docker Hub和Docker Desktop进行镜像管理

       2、使用docker login命令进行管理

13、Docker的数据管理

1、什么是数据卷?

数据卷是为一个或多个容器专门指定的目录。

特点:
    1、可以在容器间共享和重用。
    2、数据卷的数据改变可以直接修改
    3、数据的改变不会包括在容器中
    4、数据卷是持续的,直到没有容器使用。

2、如何创建数据卷?

docker提供volume进行管理数据卷

使用docker进行创建数据卷

docker  volume  create -d  local  volume_demo

//  创建一个volume_demo的数据卷

//  存在目录位于/var/lib/docker/volume路径下

使用docker inspect 命令可进行查看详细信息

3、数据卷的分类

在运行容器时可以通过指定-v 或 --mount参数来使用该Volume,并且可以依据数据卷类型不同挂在不同类型的数据卷。

在docker中数据卷分为三类:

volume普通数据卷,Bind绑定数据卷,tmpfs临时数据卷
volume普通数据卷:映射到特定位置:/var/lib/docker/volumes
Bind绑定数据卷:映射到主机的任意位置
tmpfs临时数据卷:只存在于内存中

查看运行的容器和数据卷信息

root@ubuntu-virtual-machine:/home/ubuntu# docker container ls 
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                               NAMES
ef9d2eed6a28   mysql     "docker-entrypoint.s…"   36 minutes ago   Up 36 minutes   3306/tcp, 33060/tcp                 mysqltest
1d65b1b42524   httpd     "httpd-foreground"       3 hours ago      Up 3 hours      0.0.0.0:80->80/tcp, :::80->80/tcp   reverent_fermat

root@ubuntu-virtual-machine:/home/ubuntu# ls -al /var/lib/docker/volumes/

数据迁移

数据卷可以有效的进行数据备份,恢复,和迁移。

14、Docker日志

1、docker  logs

作用:docker  logs主要是用来进行查看日志

docker logs  [options]  container

// 可以通过子命令来查看具体某个容器的日志

docker logs  container  (此时看到的容器日志是静态的)

// 如果想要看到动态的容器日志,加上-f参数即可

docker logs -f container 

docker  logs命令选项

Options:
      --details        显示提供给日志的其他详细信息
  -f, --follow         跟踪日志输出
      --since string   显示给定的时间戳 (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)
  -n, --tail string    从日志末尾显示n行的日志
  -t, --timestamps     显示时间戳
      --until string   显示给定的时间戳 (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)

2、logging   driver

docker允许我们从运行的容器中提取日志、这个机制就被称为logging  driver

docker默认的logging  driver文件格式为json-file

快速查看nginx的日志文件路径:

root@node:/home/ubuntu# docker inspect nginx_server | grep -i logpath
        "LogPath": "/var/lib/docker/containers/1bcf7355d531834fd7d3b9cbf2408a897cb6756d205f0c12b46679e7a8677008/1bcf7355d531834fd7d3b9cbf2408a897cb6756d205f0c12b46679e7a8677008-json.log"

root@node:/home/ubuntu# cd /var/lib/docker/containers/1bcf7355d531834fd7d3b9cbf2408a897cb6756d205f0c12b46679e7a8677008/
root@node:/var/lib/docker/containers/1bcf7355d531834fd7d3b9cbf2408a897cb6756d205f0c12b46679e7a8677008# ls 
1bcf7355d531834fd7d3b9cbf2408a897cb6756d205f0c12b46679e7a8677008-json.log  checkpoints  config.v2.json  hostconfig.json  hostname  hosts  mounts  resolv.conf  resolv.conf.hash
root@node:/var/lib/docker/containers/1bcf7355d531834fd7d3b9cbf2408a897cb6756d205f0c12b46679e7a8677008# cat 1bcf7355d531834fd7d3b9cbf2408a897cb6756d205f0c12b46679e7a8677008-json.log 

3、安装ELK日志监控系统

ELK是可以进行搜集、过滤、传输、存储以及实现多系统的组件日志进行集中管理,并且可以帮助运维人员进行线上业务的实时监控,以及业务异常的标准定位。

ELK优点:1、安全性、密钥库和访问控制。

                  2、可以进行管理日志和指标等

                  3、仪表盘和可视化界面

                  4、可以确定在哪里找到其他资源

1、采用docker方式进行部署
docker pull sebp/elk:640     // 下拉sebp/elk、640版本的镜像

2、启动ELK服务
docker run -it --name=elk  -p   5601:5601 -p 9200:9200 -p 5044:5044 -d sebp/elk:640

3、浏览器访问ELK页面
http://192.168.159.131:5601

4、浏览器访问
http://192.168.159.131:9200  (查看API接口是否可用)

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

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

相关文章

双模充电桩发展前景:解锁新能源汽车未来的金钥匙,市场潜力无限

随着全球能源转型的浪潮席卷而来&#xff0c;新能源汽车行业正以前所未有的速度蓬勃发展&#xff0c;而作为其坚实后盾的充电基础设施&#xff0c;特别是双模充电桩&#xff0c;正逐渐成为推动这一变革的关键力量。本文将从多维度深入剖析双模充电桩的市场现状、显著优势、驱动…

python3GUI--大屏可视化-传染病督导平台 By:PyQt5

文章目录 一&#xff0e;前言二&#xff0e;预览三&#xff0e;软件组成&开发心得1.样式&使用方法2.左侧表格实现3.设计4.学习5.体验效果 四&#xff0e;代码分享1.环形渐变进度组件2.自定义图片的背景组件 五&#xff0e;总结 大小&#xff1a;60.9 M&#xff0c;软件…

某漫画网站JS逆向反混淆流程分析

文章目录 1. 写在前面1. 接口分析2. 反混淆分析 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Pyth…

ffmpeg aac s16 encode_audio.c

用ffmpeg库时&#xff0c;用代码对pcm内容采用aac编码进行压缩&#xff0c;出现如下错误。 [aac 000002bc5edc6e40] Format aac detected only with low score of 1, misdetection possible! [aac 000002bc5edc8140] Error decoding AAC frame header. [aac 000002bc5edc81…

深度学习的原理和应用

一、深度学习的原理 深度学习是机器学习领域的一个重要分支&#xff0c;其原理基于多层神经网络结构和优化算法。以下是深度学习的核心原理&#xff1a; 多层神经网络结构&#xff1a;深度学习模型通常由多层神经元组成&#xff0c;这些神经元通过权重和偏置相互连接。输入数据…

mv指令详解

&#x1f3dd;️专栏&#xff1a;计算机操作系统 &#x1f305;主页&#xff1a;猫咪-9527-CSDN博客 “欲穷千里目&#xff0c;更上一层楼。会当凌绝顶&#xff0c;一览众山小。” 目录 基本语法 主要功能 常用选项详解 1. 移动文件或目录 2. 重命名文件或目录 3. -i&am…

5 分布式ID

这里讲一个比较常用的分布式防重复的ID生成策略&#xff0c;雪花算法 一个用户体量比较大的分布式系统必然伴随着分表分库&#xff0c;分机房部署&#xff0c;单体的部署方式肯定是承载不了这么大的体量。 雪花算法的结构说明 如下图所示: 雪花算法组成 从上图我们可以看…

怎么实现Redis的高可用?

大家好&#xff0c;我是锋哥。今天分享关于【怎么实现Redis的高可用&#xff1f;】面试题。希望对大家有帮助&#xff1b; 怎么实现Redis的高可用&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 为了实现 Redis 的高可用性&#xff0c;我们需要保证在发…

牛客网刷题 ——C语言初阶(6指针)——BC106 上三角矩阵判定

1. 题目描述——BC106 上三角矩阵判定 牛客网OJ题链接 描述 KiKi想知道一个n阶方矩是否为上三角矩阵&#xff0c;请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵&#xff0c;主对角线为从矩阵的左上角至右下角的连线。 示例 输入&#xff1a; 3 1 2 3 0 4 5 0 0…

H266/VVC 帧内预测中 ISP 技术

帧内子划分 ISP ISP 技术是在 JVET-2002-v3 提案中详细介绍其原理&#xff0c;在 VTM8 中完整展示算法。ISP是线基内预测&#xff08;LIP&#xff09;模式的更新版本&#xff0c;它改善了原始方法在编码增益和复杂度之间的权衡&#xff0c;ISP 算法的核心原理就是利用较近的像…

了解npm:JavaScript包管理工具

在JavaScript的生态系统中&#xff0c;npm&#xff08;Node Package Manager&#xff09;无疑是一个举足轻重的存在。它不仅是Node.js的包管理器&#xff0c;更是前端开发不可或缺的一部分&#xff0c;为开发者提供了丰富的包资源、便捷的包管理以及强大的社区支持。本文将深入…

CNN Test Data

由于数据量过大&#xff0c;打不开了 搞一组小的吧。收工睡觉 https://download.csdn.net/download/spencer_tseng/90256048

协同过滤算法商品推荐系统|Java|SpringBoot|VUE|

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SpringBoot、Mybatis-Plus、VUE、jquery,html 5⃣️…

初学stm32 --- DMA直接存储器

目录 DMA介绍 STM32F1 DMA框图 DMA处理过程 DMA通道 DMA优先级 DMA相关寄存器介绍 F1 DMA通道x配置寄存器&#xff08;DMA_CCRx&#xff09; DMA中断状态寄存器&#xff08;DMA_ISR&#xff09; DMA中断标志清除寄存器&#xff08;DMA_IFCR&#xff09; DMA通道x传输…

Routine Load 导入问题处理指南

Routine Load 导入问题处理指南 在使用 Apache Doris 的 Routine Load 时&#xff0c;你是否曾经被各种奇奇怪怪的问题卡住&#xff1f;今天就来分享一些最常见的 Routine Load 问题&#xff0c;并提供相应的解决方案&#xff0c;让你快速应对&#xff0c;高效解决&#xff01;…

【面试题】技术场景 6、Java 生产环境 bug 排查

生产环境 bug 排查思路 分析日志&#xff1a;首先通过分析日志查看是否存在错误信息&#xff0c;利用之前讲过的 elk 及查看日志的命令缩小查找错误范围&#xff0c;方便定位问题。远程 debug 适用环境&#xff1a;一般公司正式生产环境不允许远程 debug&#xff0c;多在测试环…

牛客 《反转链表》 链表 题解

前言 太久没有练习C和Java&#xff0c;基本忘完了…还有数据结构也不太熟悉了。借此机会回顾一下相关的知识点&#xff0c;也为之后做准备吧。 题目内容 思路 要求时间复杂度为O(n)&#xff0c;那么只能遍历一次。反转的话&#xff0c;只需要将链表箭头指向换个方向就行。遍…

容器技术全面攻略:Docker的硬核玩法

文章背景 想象一下&#xff0c;一个项目终于要上线了&#xff0c;结果因为环境配置不一致&#xff0c;测试服务器一切正常&#xff0c;生产环境却宕机了。这是开发者噩梦的开始&#xff0c;也是Docker救世主角色的登场&#xff01;Docker的出现颠覆了传统环境配置的方式&#…

RabbitMQ高级篇

目录 确保发送者的可靠 为什么需要确保发送者的可靠性 RabbitMQ 的发送者重连机制配置 springAMQP实现发送者确认 MQ的可靠性 为什么需要实现MQ的可靠性&#xff1f; 数据持久化 Lazy Queue 核心思想 总结RabbitMQ 如何保证消息的可靠性 持久化 Lazy Queue 消息…

微信小程序用的SSL证书有什么要求吗?

微信小程序主要建立在手机端使用&#xff0c;然而手机又涉及到各种系统及版本&#xff0c;所以对SSL证书也有要求&#xff0c;如果要小程序可以安全有效的访问需要满足以下要求&#xff1a; 1、原厂SSL证书&#xff08;原厂封&#xff09;。 2、DV单域名或者DV通配符。 3、兼…