Docker与微服务实战(高级篇)- 【下】

Docker与微服务实战(高级篇)- 【下】

  • 八、Docker轻量级可视化工具Portainer
    • 8.1.可视化工具Portainer简介
    • 8.2.安装Portainer
      • 8.2.1.官网
      • 8.2.2.docker命令安装
        • 8.2.2.1.搜索portainer镜像
        • 8.2.2.2.拉取portainer镜像
        • 8.2.2.3.启动portainer容器
      • 8.2.3.第一次登录需创建admin,访问地址:XXX.XXX.XXX.XXX:9000
      • 8.2.4.设置admin用户和密码后首次登陆
      • 8.2.5.选择local选项卡后本地docker详细信息展示
      • 8.2.6.上一步的图形展示,对应命令--【docker system df】
    • 8.3.登录并演示介绍常用操作case
    • 8.4.Portainer安装niginx
      • 8.4.1.创建并运行nginx容器的命令:
      • 8.4.2.进入mynginx容器
  • 九、Docker容器监控之 CAdvisor+InfluxDB+Granfana
    • 9.1.docker命令存在的问题
    • 9.2.CAdvisor监控收集+lnfluxDB存储数据+Granfana展示图表
      • 9.2.1.CAdvisor监控收集
      • 9.2.2.lnfluxDB存储数据
      • 9.2.3.Granfana展示图表
      • 9.2.4.总结
    • 9.3.Compose容器编排
      • 9.3.1.新建目录/app/mydocker/cig
      • 9.3.2.新建3件套docker-compose.yml文件
      • 9.3.3.启动docker-compose文件
      • 9.3.4.查看三个服务器是否启动
      • 9.3.5.测试
        • 9.3.5.1.浏览cAdvisor`收集`服务,http://ip:8080/
        • 9.3.5.2.浏览influxdb`存储`服务,http://ip:8083/
        • 9.3.5.3.浏览grafana`展现`服务,http://ip:3000,默认账号密码admin/admin
          • 9.3.5.3.1. grafana配置步骤
          • 9.3.5.3.2. 配置数据源
          • 9.3.5.3.3. 点击Add data source选择influxdb数据源
          • 9.3.5.3.4. 配置细节
          • 9.3.5.3.5. 配置面板panel
          • 9.3.5.3.6. CAdvisor+InfluxDB+Granfana容器监控系统部署完成
  • 十、终结&总结--知识回顾简单串讲和总结

八、Docker轻量级可视化工具Portainer

8.1.可视化工具Portainer简介

Portainer是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境。

8.2.安装Portainer

8.2.1.官网

https://www.portainer.io/
https://docs.portainer.io/v/ce-2.9/start/install/server/docker/linux

在这里插入图片描述

8.2.2.docker命令安装

8.2.2.1.搜索portainer镜像
docker search portainer --limit 5

在这里插入图片描述

8.2.2.2.拉取portainer镜像
docker pull portainer/portainerdocker images portainer/portainer:latest

在这里插入图片描述

8.2.2.3.启动portainer容器

-restart=always:表示docker容器重启了,portainer容器也跟着重启,如影随形,实时监控

# 启动镜像
docker run -d \
-p 8000:8000 \
-p 9000:9000 \
--name potainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /dockerData/portainer_data:/data \
portainer/portainer:latest
-p : 指定宿主机端口和容器端口 portainer默认端口是9000
-v : 目录映射,将/var/run/docker.sock映射到容器中,用于访问Docker的守护进程,控制Docker。
-v /dockerData/portainer_data保存Portainer的配置信息。
-restart=always: 代表在容器退出时总是重启容器,还有其他几种重启策略:no、on-failure、on-failuer:n、unless-stopped
-p 9000:9000 端口映射默认为9000,映射为9000;9000为对外暴漏外部服务的端口号
--name portainer 镜像名字

在这里插入图片描述

8.2.3.第一次登录需创建admin,访问地址:XXX.XXX.XXX.XXX:9000

登录网址http://自己IP:9000
用户名随便,默认admin
密码随便12345678
网址http:192.168.229.134:9000

8.2.4.设置admin用户和密码后首次登陆

在这里插入图片描述

8.2.5.选择local选项卡后本地docker详细信息展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.2.6.上一步的图形展示,对应命令–【docker system df】

在这里插入图片描述

8.3.登录并演示介绍常用操作case

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

8.4.Portainer安装niginx

8.4.1.创建并运行nginx容器的命令:

docker run --name containerName -p 80:80 -d nginx

命令解读:

  • docker run :创建并运行一个容器
  • –name : 给容器起一个名字,比如叫做mn
  • -p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
  • -d:后台运行容器
  • nginx:镜像名称,例如nginx

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

8.4.2.进入mynginx容器

进入我们刚刚创建的mynginx容器的命令为:

docker exec -it mynginx bash

命令解读:

  • docker exec :进入容器内部,执行一个命令
  • -it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
  • mynginx :要进入的容器的名称
  • bash:进入容器后执行的命令,bash是一个linux终端交互命令

在这里插入图片描述
在这里插入图片描述

九、Docker容器监控之 CAdvisor+InfluxDB+Granfana

9.1.docker命令存在的问题

在这里插入图片描述
问题:

通过docker stats命令可以很方便的看到当前宿主机上所有容器的CPU,内存以及网络流量等数据,一般小公司够用了。。。
但是,docker stats统计结果只能是当前宿主机的全部容器,数据资料是实时的,没有地方存储、没有健康指标过线预警等功能

9.2.CAdvisor监控收集+lnfluxDB存储数据+Granfana展示图表

在这里插入图片描述

9.2.1.CAdvisor监控收集

CAdvisor是一个容器资源监控工具,包括容器的内存,CPU,网络IO,磁盘IO等监控,同时提供了一个WEB页面用于查看容器的实时运行状态。

CAdvisor默认存储2分钟的数据,而且只是针对单物理机。不过,CAdvisor提供了很多数据集成接口,支持InfluxDB,Redis,Kafka,Elasticsearch等集成,可以加上对应配置将监控数据发往这些数据库存储起来。

CAdvisor功能主要有两点:

  • 展示Host和容器两个层次的监控数据。
  • 展示历史变化数据。

9.2.2.lnfluxDB存储数据

InfluxDB是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。

CAdvisor默认只在本机保存最近2分钟的数据,为了持久化存储数据和统一收集展示监控数据,需要将数据存储到InfluxDB中。
InfluxDB是一个时序数据库,专门用于存储时序相关数据,很适合存储CAdvisor的数据。
而且,CAdvisor本身已经提供了InfluxDB的集成方法,丰启动容器时指定配置即可。

lnfluxDB主要功能:

  • 基于时间序列,支持与时间有关的相关函数(如最大、最小、求和等);
  • 可度量性:你可以实时对大量数据进行计算;
  • 基于事件:它支持任意的事件数据;

9.2.3.Granfana展示图表

Grafana是一个开源的数据监控分析可视化平台,支持多种数据源配置(支持的数据源包括
InfluxDB,MySQL,Elasticsearch,OpenTSDB,Graphite等)和丰富的插件及模板功能,支持图表权限控制和报警。

Grafan主要特性:

  • 灵活丰富的图形化选项
  • 可以混合多种风格。
  • 支持白天和夜间模式。
  • 多个数据源

9.2.4.总结

在这里插入图片描述

9.3.Compose容器编排

9.3.1.新建目录/app/mydocker/cig

mkdir -p /app/mydocker/cigcd /app/mydocker/cigpwdvim docker-compose.ymldocker-compose config -q

在这里插入图片描述

9.3.2.新建3件套docker-compose.yml文件

version: '3.1' # 3.0以上的版本volumes:grafana_data: {} # grafana数据的挂载services:influxdb:image: tutum/influxdb:0.9restart: alwaysenvironment:- PRE_CREATE_DB=cadvisorr # 预先在cadvisor创建一个数据库ports:- "8083:8083" # web端口- "8086:8086" # 内部端口volumes:- ./data/influxdb:/datacadvisor:image: google/cadvisorlinks:- influxdb:influxsrvcommand: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086restart: alwaysports:- "8080:8080"volumes:- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:rografana:user: "104"image: grafana/grafanauser: "104"restart: alwayslinks:- influxdb:influxsrvports:- "3000:3000"volumes:- grafana_data:/var/lib/grafanaenvironment:- HTTP_USER=admin- HTTP_PASS=admin- INFLUXDB_HOST=influxsrv- INFLUXDB_PORT=8086- INFLUXDB_NAME=cadvisor- INFLUXDB_USER=root- INFLUXDB_PASS=root

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

9.3.3.启动docker-compose文件

# 后台启动
docker-compose up -d# 查看日志
docker-compose logs

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.3.4.查看三个服务器是否启动

在这里插入图片描述

9.3.5.测试

9.3.5.1.浏览cAdvisor收集服务,http://ip:8080/

在这里插入图片描述
在这里插入图片描述

9.3.5.2.浏览influxdb存储服务,http://ip:8083/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.3.5.3.浏览grafana展现服务,http://ip:3000,默认账号密码admin/admin

在这里插入图片描述
在这里插入图片描述

9.3.5.3.1. grafana配置步骤
  • 配置数据源
  • 选择influxdb数据源
  • 配置细节
  • 配置面板panel
  • CAdvisor+InfluxDB+Granfana容器监控系统部署完成
9.3.5.3.2. 配置数据源

在这里插入图片描述

9.3.5.3.3. 点击Add data source选择influxdb数据源

在这里插入图片描述

9.3.5.3.4. 配置细节

在这里插入图片描述
在这里插入图片描述

9.3.5.3.5. 配置面板panel

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.3.5.3.6. CAdvisor+InfluxDB+Granfana容器监控系统部署完成

在这里插入图片描述

十、终结&总结–知识回顾简单串讲和总结

进阶篇:雷丰阳老师的K8S

在这里插入图片描述

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

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

相关文章

高通平台开发系列讲解(USB篇)adb function代码分析

文章目录 一、FFS相关动态打印二、代码入口三、ffs_alloc_inst四、ep0、ep1&ep2的注册五、读写过程沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本文主要介绍高通平台USB adb function代码f_fs.c。 一、FFS相关动态打印 目录:msm-4.14/drivers/usb/gadget/fun…

Git新手?这篇文章带你飞!基础操作一网打尽!

推荐阅读 智能化校园:深入探讨云端管理系统设计与实现(一) 智能化校园:深入探讨云端管理系统设计与实现(二) 文章目录 推荐阅读Git初识Git啥是版本控制系统??集中式VS分布式 git使用…

88.乐理基础-记号篇-反复记号(二)D.C.、D.S.、Fine、Coda

内容参考于:三分钟音乐社 上一个内容:87.乐理基础-记号篇-反复记号(一)反复、跳房子-CSDN博客 下图红色左括号框起来的东西,它们都相对比较抽象一点,这几个词都是意大利语 首先D.C.这个标记,然…

基于DNA的密码学和隐写术综述

摘要 本文全面调研了不同的脱氧核糖核酸(DNA)-基于密码学和隐写术技术。基于DNA的密码学是一个新兴领域,利用DNA分子的大规模并行性和巨大的存储容量来编码和解码信息。近年来,由于其相对传统密码学方法的潜在优势,如高存储容量、低错误率和对环境因素的抗性,该领域引起…

.NET core 中的Kestrel 服务器

什么是Kestrel? Kestrel 是一个跨平台的Web服务器,会默认在ASP.NET Core 项目模板中对其进行配置。未使用 IIS 托管时,ASP.NET Core 项目模板默认使用 Kestrel。 Kestrel 的功能包括: 跨平台:Kestrel 是可在 Window…

蓝桥杯基础知识3 memset()

蓝桥杯基础知识3 memset() #include <bits/stdc.h> using namespace std;int main(){int a[5]; //随机数for(int i 0;i < 5; i)cout << a[i] << \n;cout << \n;memset(a, 0, sizeof a); //0for(int i 0;i < 5; i)cout << a[i] << …

最新ThinkPHP版本实现证书查询系统,实现批量数据导入,自动生成电子证书

前提&#xff1a;朋友弄了一个培训机构&#xff0c;培训考试合格后&#xff0c;给发证书&#xff0c;需要一个证书查询系统。委托我给弄一个&#xff0c;花了几个晚上给写的证书查询系统。 实现功能&#xff1a; 前端按照姓名手机号码进行证书查询证书信息展示证书展示&#x…

kotlin运行

1.使用android studio 由于我本身是做android的&#xff0c;android studio本身有内置kotlin的插件。但若只是想跑kotlin的程序&#xff0c;并不像和android程序绑在一起&#xff0c;可以创建一个kt文件&#xff0c;在里面写一个main函数&#xff0c;就可以直接运行kotlin程序…

2024.1.13每日一题

LeetCode 2182.构造限制重复的字符串 2182. 构造限制重复的字符串 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个字符串 s 和一个整数 repeatLimit &#xff0c;用 s 中的字符构造一个新字符串 repeatLimitedString &#xff0c;使任何字母 连续 出现的次数都…

[足式机器人]Part2 Dr. CAN学习笔记 - Ch02动态系统建模与分析

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记 - Ch02动态系统建模与分析 1. 课程介绍2. 电路系统建模、基尔霍夫定律3. 流体系统建模4. 拉普拉斯变换&#xff08;Laplace&#xff09;传递函数、微分方程4.1 Laplace Transform 拉式变换4.2 收…

【python】07.字符串和常用数据结构

字符串和常用数据结构 使用字符串 第二次世界大战促使了现代电子计算机的诞生&#xff0c;最初计算机被应用于导弹弹道的计算&#xff0c;而在计算机诞生后的很多年时间里&#xff0c;计算机处理的信息基本上都是数值型的信息。世界上的第一台电子计算机叫ENIAC&#xff08;电…

Vue+ElementUI+Axios实现携带参数的文件上传(数据校验+进度条)

VueElementUIAxios实现携带参数的文件上传&#xff08;数据校验进度条&#xff09; 可以实现对上传文件的类型&#xff0c;大小进行数据校验&#xff0c;以及对上传文件所要携带的数据也进行的校验&#xff0c;也有文件上传进度的进度条。 一、Vue 结构部分 弹窗显示&#xff0…

Java 面试题 - 多线程并发篇

线程基础 创建线程有几种方式 继承Thread类 可以创建一个继承自Thread类的子类&#xff0c;并重写其run()方法来定义线程的行为。然后可以通过创建该子类的实例来启动线程。 示例代码&#xff1a; class MyThread extends Thread {public void run() {// 定义线程的行为} …

ubuntu20.04网络问题以及解决方案

1.网络图标消失&#xff0c;wired消失&#xff0c;ens33消失 参考&#xff1a;https://blog.51cto.com/u_204222/2465609 https://blog.csdn.net/qq_42265170/article/details/123640669 原始是在虚拟机中切换网络连接方式&#xff08;桥接和NAT&#xff09;&#xff0c; 解决…

K8S--安装MySQL8(单机)

原文网址&#xff1a;K8S--安装MySQL8&#xff08;单机&#xff09;-CSDN博客 简介 本文介绍K8S部署MySQL8&#xff08;单机&#xff09;的方法。 ----------------------------------------------------------------------------------------------- 分享Java真实高频面试题…

解决虚拟机的网络图标不见之问题

在WIN11中&#xff0c;启动虚拟机后&#xff0c;发现网络图标不见了&#xff0c;见下图&#xff1a; 1、打开虚拟机终端 输入“sudo server network-manager stop”&#xff0c;停止网络管理器 输入“cd /回车” &#xff0c; 切换到根目录 输入“cd var回车” &#xff0c;…

探索Shadowsocks-Android:保护你的网络隐私

探索Shadowsocks-Android&#xff1a;保护你的网络隐私 I. 引言 在数字时代&#xff0c;网络隐私和安全变得愈发重要。我们越来越依赖互联网&#xff0c;但同时也面临着各种网络限制和监控。在这个背景下&#xff0c;Shadowsocks-Android应用程序应运而生&#xff0c;为用户提…

java Servlet体育馆运营管理系统myeclipse开发mysql数据库网页mvc模式java编程计算机网页设计

一、源码特点 JSP 体育馆运营管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统采用serlvetdaobean&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用 B/S模式开发。 java Servlet体育馆运营管理系…

自定义数据实现SA3D

SA3D&#xff1a;Segment Anything in 3D with NeRFs 实现了3D目标分割 原理是利用SAM(segment anything) 模型和Nerf分割渲染3D目标&#xff0c; SAM只能分块&#xff0c;是没有语义标签的&#xff0c;如何做到语义连续&#xff1f; SA3D中用了self-prompt, 根据前一帧的mask…

【Java】正则表达式( Pattern 和 Matcher 类)

快速入门 Java 提供了 java.util.regex 包&#xff0c;它包含了 Pattern 和 Matcher 类&#xff0c;用于处理正则表达式的匹配操作。 java.util.regex 包主要包括以下三个类&#xff1a; Pattern 类&#xff1a; pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共…