Docker
文章平均质量分 91
Heartsuit
物联网平台架构师,CSDN博客专家,阿里云专家博主,PMI认证项目管理专家(PMP),具备物联网、云原生、大数据等领域的研发经验。
展开
-
云原生之容器编排实践-OpenEuler23.09在线安装Kubernetes与KubeSphere
前几篇文章中介绍了如何将ruoyi-cloud项目部署到Kubernetes集群中,包括网关服务、认证服务和系统服务并且对全部服务采用YAML文件的方式来进行部署,这虽然有助于理解K8S组织管理资源的风格与底层机制,但是对于团队中不太熟悉命令行操作的成员不太友好,现在我们借助由青云开源的容器平台KubeSphere来进行可视化的服务部署。KubeSphere是在Kubernetes之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的IT自动化运维能力;KubeKey一键安装。原创 2024-06-30 10:03:26 · 1381 阅读 · 0 评论 -
使用docker-compose部署时序数据库InfluxDB1.8.4
考虑团队成员对 `2.x` 熟悉程度与学习成本,保守选择了 `1.8.4` 版本;以下主要记录了使用 `Docker` 安装 `InfluxDB` 遇到的问题与解决方法。对于一个数据库的基本操作,除了增删改查外,我们还经常需要进行数据的迁移与同步,这就涉及到数据的备份与恢复操作。原创 2024-05-25 09:00:00 · 1313 阅读 · 0 评论 -
云原生之容器编排实践-ruoyi-cloud项目部署到K8S:网关服务、认证服务与系统服务
部署一个服务前,需要明确它是有状态服务还是无状态服务,这里 `MySQL` , `Nacos` , `Redis` , `Nginx` 当做有状态服务(StatefulSet)来部署;而 `Gateway` , `Auth` , `System` 这些微服务作为无状态服务(Deployment)来部署。这一次对全部服务采用 `YAML` 文件的方式来进行部署,这有助于理解K8S组织管理资源的风格,后续我们可以借助开源的容器平台,eg: `KubeSphere` 来进行可视化的服务部署。原创 2024-03-10 14:30:00 · 2829 阅读 · 1 评论 -
云原生之容器编排实践-ruoyi-cloud项目部署到K8S:Nginx1.25.3
部署一个服务前,需要明确它是有状态服务还是无状态服务,这里 MySQL , Nacos , Redis , Nginx 当做有状态服务(StatefulSet)来部署;而 Gateway , Auth , System 这些微服务作为无状态服务(Deployment)来部署。这次我们先是借助 kompose 工具,实现对 dokcer-compose 的 yaml 到 K8S 的 yaml 的转换,经过简单的加工后即可应用部署;通过以上操作,成功将 Nginx 1.25.3 部署到了 K8S 集群。原创 2024-03-10 09:00:00 · 1298 阅读 · 0 评论 -
云原生之容器编排实践-ruoyi-cloud项目部署到K8S:Redis7.2.3
部署一个服务前,需要明确它是有状态服务还是无状态服务,这里 `MySQL` , `Nacos` , `Redis` , `Nginx` 当做有状态服务(StatefulSet)来部署;而 `Gateway` , `Auth` , `System` 这些微服务作为无状态服务来部署。这次我们先是借助 kompose 工具,实现对 dokcer-compose 的 yaml 到 K8S 的 yaml 的转换,经过简单的加工后即可应用部署;通过以上操作,成功将 Redis 7.2.3 部署到了 K8S 集群。原创 2024-03-03 21:12:06 · 1262 阅读 · 0 评论 -
云原生之容器编排实践-ruoyi-cloud项目部署到K8S:Nacosv2.2.3
部署一个服务前,需要明确它是有状态服务还是无状态服务,这里 MySQL , Nacos , Redis , Nginx 当做有状态服务(StatefulSet)来部署;而 Gateway , Auth , System 这些微服务作为无状态服务(Deployment)来部署。这次我们先是借助 kompose 工具,实现对 dokcer-compose 的 yaml 到 K8S 的 yaml 的转换,经过简单的加工后即可应用部署;通过以上操作,成功将 Nacos v2.2.3 部署到了 K8S 集群。原创 2024-03-03 10:16:33 · 1388 阅读 · 0 评论 -
云原生之容器编排实践-ruoyi-cloud项目部署到K8S:MySQL8
本系列拿 ruoyi-cloud 项目进行练手,按照 MySQL , Nacos , Redis , Nginx , Gateway , Auth , System 的顺序来部署 ruoyi-cloud 微服务应用。这次我们先是借助 kompose 工具,实现对 dokcer-compose 的 yaml 到 K8S 的 yaml 的转换,经过简单的加工后即可应用部署;通过以上操作,成功将 MySQL 8.0 部署到了 K8S 集群,下一步我们安装下 Nacos v2.2.3 。原创 2024-02-25 18:21:05 · 1857 阅读 · 2 评论 -
云原生之容器编排实践-kubectl get pod -A没有coredns
前面搭建的3节点 Kubernetes 集群,其实少了一个组件: CoreDNS ,这也是我后面拿 ruoyi-cloud 项目练手时,部署了 MySQL 和 Nacos 服务后才意识到的:发现Nacos无法通过服务名连接MySQL,这里 Nacos 选择使用 MySQL 进行配置数据的持久化。初步分析,这可能是 K8S 内部的域名解析有问题,通过 kubectl get pod -A 一看,还真没有 coredns 。最后,我们了解了 K8S 集群内部服务之间调用的方式。原创 2024-02-25 13:12:45 · 1113 阅读 · 0 评论 -
云原生之容器编排实践-在K8S集群中使用Registry2搭建私有镜像仓库
基于前面搭建的3节点 Kubernetes 集群,今天我们使用 Registry2 搭建私有镜像仓库,这在镜像安全性以及离线环境下运维等方面具有重要意义。作为测试环境,本次使用 Registry2 搭建了私有镜像仓库,实际生产环境建议使用 Harbor;创建了一个 local-storage 的 StorageClass ,并使用本地磁盘的方式创建使用 PV ,实际建议使用 NFS 。原创 2024-02-18 17:31:58 · 1668 阅读 · 0 评论 -
云原生之容器编排实践-基于CentOS7搭建三个节点的Kubernetes集群
前面采用 minikube 作为 Kubernetes 环境来体验学习 Kubernetes 基本概念与操作,这样避免了初学者在裸金属主机上搭建 Kubernetes 集群的复杂度,但是随着产品功能的逐渐完善,我们需要过渡到生产环境中的 K8S 集群模式;而在实际上生产环境之前,我们先在本地虚拟机上进行了环境搭建与流程验证,作为新的起点,今天就先搭建一个3节点的 Kubernetes 集群,并总结了可能遇到的问题。原创 2024-02-18 10:20:47 · 1488 阅读 · 1 评论 -
基于OpenVidu的视频会议解决方案
OpenVidu 是一个开源的实时音视频通信平台,基于 Apache 2.0 协议开源的 WebRTC 视频会议平台,源码仓库地址:https://github.com/OpenVidu/openvidu。它提供了一组 API 和 SDK ,使开发人员能够轻松地在 Web 和移动应用程序中集成实时音视频通信功能。 OpenVidu 支持多种功能,包括实时音视频通话、屏幕共享、录制和回放等。它基于 WebRTC 技术,可以在不同的设备和浏览器上实现高质量的音视频通信。原创 2023-12-17 17:30:27 · 2968 阅读 · 0 评论 -
Docker构建镜像时空间不足:/var/lib/docker,no space left on device
在一次更新业务服务功能后,重新在服务器上构建微服务镜像,在构建镜像时报错空间不足:/var/lib/docker, no space left on device赶紧用 df -h 看了下磁盘使用情况,果然, devicemapper 已经满了。。由于需要紧急上线,没有采用迁移 Docker 工作目录的方式;而是想办法删除一些没用的文件,空出本次镜像构建、容器运行的空间。记得在操作之前备份数据。原创 2023-12-16 15:13:00 · 2132 阅读 · 0 评论 -
Docker容器化部署若依微服务ruoyi-cloud项目
本文是关于使用Docker容器化部署若依微服务ruoyi-cloud项目的详细步骤和操作指南。通过这些步骤,您可以在Ubuntu或CentOS系统上安装Docker,并使用Docker基本操作来下载、运行、管理和部署若依微服务项目。此外,还介绍了离线部署容器化的微服务和Docker可视化管理工具的安装和使用方法。原创 2023-11-26 10:00:00 · 3711 阅读 · 2 评论 -
GraphQL入门与开源的GraphQL引擎Hasura体验
Hasura 是一个开源的 GraphQL 引擎,它可以帮助开发人员快速构建和部署现代应用程序的后端。它提供了一个自动化的 GraphQL API ,可以直接连接到现有的数据库,并提供实时数据推送和订阅功能。 Hasura 团队总部位于印度。作为一款后端低代码平台,也推荐使用对标 Hasura 的国产替代产品:飞布:飞布是可视化API开发平台,对标 hasura ,灵活开放、多语言兼容、简单易学,能构建生产级 WEB API ,让前端变全栈,让后端不搬砖。原创 2023-11-04 22:41:00 · 2106 阅读 · 0 评论 -
Win10安装Docker Desktop并运行Tutorial示例
前段时间一个项目需要在开发环境直接使用 Docker ,为了省事便计划在本地安装 Desktop 版的 Docker 。其实安装过程比较简单,可视化安装即可,主要是对安装与初步使用时遇到的问题做个记录。此外,自带了 docker-compose ,使用 Docker Desktop 可以提供一个轻量级、可移植和可靠的开发和部署环境,使得开发人员能够更加高效地构建和交付应用程序。原创 2023-09-23 20:30:00 · 296 阅读 · 0 评论 -
CentOS7.8离线安装Docker24.0.2,离线安装gcc与g++环境
有时候运维时要求在内网环境下操作,即服务器无法连接互联网,那么就无法通过 yum 源在线安装。。这时,一般通过以下3种方式来安装需要的软件:下载源码包编译安装;下载对应平台编译好的安装包,解压即可;下载rpm包,本地安装。在离线环境下,如果需要进行源码编译安装,比如 Nginx 、 Redis 等,则要求具备 gcc 与 g++ 这些基础环境。以下通过 rpm 包进行 gcc 与 g++ 的离线安装。原创 2023-07-16 20:22:28 · 1813 阅读 · 0 评论 -
Docker安装ClickHouse22.6.9.11并与SpringBoot、MyBatisPlus集成
上一篇文章记录了在旧版的操作系统上直接安装低版本 ClickHouse (脱胎于俄罗斯头号搜索引擎的技术)的过程,开启远程访问并配置密码;其实通过 Docker 运行 ClickHouse 是我在2022年10月左右在虚拟机上实验的,当时 DockerHub 还可以打开,现在需要更换国内镜像才可以。。这里记录下当时使用 Docker 运行 ClickHouse 的过程;并与SpringBoot、MyBatisPlus集成实现CRUD功能。原创 2023-06-10 17:15:50 · 1326 阅读 · 0 评论 -
云原生之容器编排实践-Kubernetes资源管理:标签选择器,注解以及命名空间
例如,指定创建对象的人员姓名的注解可以使在集群中工作的人员之间的协作更加便利。此外,我们做物联网平台开发时,为了方便对设备的管理,我们会对设备进行分组,同样也是通过不同的标签来实现,说白了,标签无非就是为了进行。也是为了对资源进行分组与隔离,而且可以将对象分割成完全独立且不重叠的组(显然,这一点与前面的标签进行分组有区别啦。作为一种容器编排工具,面临的服务实例动辄成百上千,需要一种手段通过一次操作对属于某个组的所有。的标签管理操作中新增、修改、删除也很简单,关键在查询过滤标签:标签选择器。原创 2022-10-07 19:22:48 · 643 阅读 · 1 评论 -
云原生之容器编排实践-以k8s的Service方式暴露SpringBoot服务
Kubemetes服务是一种为一组功能相同的Pod提供单一不变的接入点的资源。当服务存在时,它的IP地址和端口不会改变。客户端通过IP地址和端口号建立连接,这些连接会被路由到提供该服务的任意一个Pod上。通过这种方式,客户端不需要知道每个单独的提供服务的Pod的地址,这样这些Pod就可以在集群中随时被创建或移除。原创 2022-10-06 22:40:35 · 740 阅读 · 0 评论 -
云原生之容器编排实践-SpringBoot应用以Deployment方式部署到minikube以及弹性伸缩
的世界中都是这样的。当指定副本数为5时,那么最终调整得到的结果便是5个副本,不多也不少。需要注意的是,伸缩过程并不是一蹴而就的。由于一开始我们的副本数配置是2,当指定副本数为5时,我们看到现在的。并不会让你的应用变得可扩展,它只是让应用的扩缩容变得简单。的详细信息,不过其输出内容过长,这里省略了。应该执行什么操作,而是声明性地改变系统的期望状态,并让。检查当前的状态是否与期望的状态一致。有3个新增的副本:即Age为5s的那3个。来观察所发生的变化:根据我们的。,只设置新的期望的实例数量并让。原创 2022-10-05 20:11:52 · 1038 阅读 · 3 评论 -
云原生之容器编排实践-SpringBoot应用以YAML描述文件部署pod到minikube
关于Pod,以下知识点值得注意。一个Pod中可以有多个容器。一个Pod是一组紧密相关的容器,它们总是一起运行在同一个工作节点上,以及同一个Linux命名空间中。每个Pod就像一个独立的逻辑机器,拥有自己的IP、主机名、进程等,运行一个独立的应用程序。当一个Pod包含多个容器时,这些容器总是运行于同一个工作节点上,一个Pod绝不会跨越多个工作节点。Kubenetes集群中的所有Pod都在同一个共享网络地址空间中,这意味着每个Pod都可以通过其他Pod的IP地址来实现相互访问。原创 2022-10-04 11:02:31 · 707 阅读 · 0 评论 -
云原生之容器编排实践-CentOS7升级内核版本
一开始安装启动 minikube 时报错,原因之一是说操作系统的内核版本不支持。。其实,后来我指定了 Kubernetes 的版本就可以了,也就没有用到升级后的内核: minikube start --force --kubernetes-version=v1.23.1 。这里记录下 CentOS7 升级内核版本的操作。原创 2022-09-11 07:42:06 · 361 阅读 · 0 评论 -
云原生之容器编排实践-Docker使用JDK-Alpine镜像的时区问题导致定时任务不执行
的文档提示:https://docs.alpinelinux.org/user-handbook/0.1a/Installing/manual.html#_timezone,我们可以将以下代码添加到。经过排查后发现,定时任务与实际时间有关联,而容器内(openjdk:8-jdk-alpine)的时间与实际时间相差了8小时,应该是时区问题。那么,如何解决容器内的时区问题呢?网上有给出各类方式解决这个问题,而且针对了不同的操作系统的镜像都给出了方案。镜像,参考其官方文档后,直接在构建自己的镜像时设置好时区。原创 2022-09-10 21:45:26 · 1033 阅读 · 2 评论 -
云原生之容器编排实践-minikube传递秘钥使用阿里云私有镜像仓库
,我并没有看到一个选项来指定拉取镜像的密钥,好像无法将镜像的密钥作为运行命令的一部分进行传递。中拉取私有容器镜像仓库的镜像时,并不能直接拉取,还需要进行认证秘钥信息的配置,这在后续文章中会专门介绍到。两种方式下如何指定镜像拉取的密钥,完成从阿里云私有镜像仓库的拉取操作,然后部署到。即可根据指定的秘钥完成从阿里云私有镜像仓库的拉取操作,然后部署到。描述文件中使用的格式,不过是以单行命令的形式出现。显然,我们需要将私有镜像仓库的认证信息以某种方式告诉。Note:如果你的镜像仓库是公开的,那么直接。原创 2022-09-04 19:03:05 · 514 阅读 · 0 评论 -
云原生之容器编排实践-在CentOS7上安装minikube
作为初学者,为避免在裸金属主机上搭建 `Kubernetes` 集群的复杂度,以及使用云服务商提供的容器编排服务的一脸懵逼等打击信心的深坑,建议使用 `minikube` 来进入 `Kubernetes` 的世界。Minikube提供了一个轻量级的Kubernetes环境,可以在本地机器上快速搭建和测试Kubernetes应用程序。这对于学习和开发Kubernetes相关的技术非常有帮助。Minikube可以在没有互联网连接的情况下运行,这对于在没有稳定网络连接的环境中进行开发和测试非常有用。原创 2022-09-03 20:05:02 · 1777 阅读 · 7 评论 -
云原生之容器编排实践-阿里云私有容器镜像仓库
以上是使用阿里云提供的私有容器镜像仓库托管服务的具体实践,其实,其他云服务提供商提供的此类服务的用法基本一致,eg: 腾讯云,因为都是参考的Docker官方的镜像仓库来实现的。当然如果网络环境(主要是上传和拉取镜像的速度)具备条件,可直接使用Docker官方提供的镜像库。有了私有的容器镜像仓库,当在minikube或者Kubernetes中拉取私有容器镜像仓库的镜像时,并不能直接拉取,还需要进行认证信息配置,这在后续文章中会专门介绍到。原创 2022-09-03 09:32:00 · 220 阅读 · 0 评论 -
云原生之容器编排实践-SpringBoot应用Docker化
借助 Dockerfile 与 Maven 打包插件实现一键部署 Spring Boot 应用到远程 Docker 容器。将 Spring Boot 应用程序 Docker 化可以提供便携性、一致性、可扩展性、开发和测试效率以及资源利用率的优势。这使得 Docker 成为部署和运行 Spring Boot 应用程序的理想选择。Note:源码已上传。原创 2022-08-28 19:50:16 · 306 阅读 · 0 评论 -
云原生之容器编排实践-在CentOS7上安装使用Docker
本系列文章从一个容器化、云原生初学者的角度出发,介绍云原生基础设施、容器编排平台以及云原生应用的相关实践,侧重于云原生应用容器化部署的快速入门。容器化技术的应用场景:标准化的迁移方式,统一的参数配置,自动化部署,应用集群监控,开发与运维之间的桥梁。层面的隔离,虚拟化是物理资源层面的隔离。两者解决的问题不一样,在未来,两者将各自持续发展。拉取一个示例应用并运行,表明安装成功:hello-world。容器化技术的三个阶段:物理机时代,虚拟机时代,容器化时代。环境下进行实际的部署与运维工作。...原创 2022-08-28 12:44:09 · 306 阅读 · 0 评论 -
Docker化koa2 vue OCR Web应用
首先要有一个应用当然,随便一个Node app即可。 按照Node官网提供的例子,可以顺利对Node App构建镜像、运行容器,每一步都写得清楚明了。 这里采用前面做的一个基于koa2, vue的一个小型应用来实现Docker化。第二步编写DockerfileDockerfile# On the shoulder of giantFROM daocloud.io/library/node:原创 2017-11-12 20:15:01 · 1544 阅读 · 1 评论 -
如何顺利地将Docker安装至Win7(x64)?
下载、安装DockerToolbox.exe下载:Docker针对Win10做了专门的Docker版本,其他旧版Windows操作系统安装的是DockerToolbox.exe安装:基本按照默认即可,如果已经安装过Git,可以不勾选相应选项;启动Docker Quickstart Terminal安装完毕,生成三个快捷方式,打开Docker Quickstart Terminal,可能遇到的问原创 2017-11-08 20:47:39 · 11572 阅读 · 2 评论