问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何规划基于docker的微服务架构技术栈

发布网友 发布时间:2022-04-19 13:52

我来回答

1个回答

热心网友 时间:2022-03-30 21:09

【编者的话】有些开发者可能还是不明白Docker对自己到底有多大的用处,因此翻译Docker个人用例这篇文章中来介绍Docker在普通开发者开发过程中的用例。Docker如今赢得了许多关注,很多人觉得盛名之下其实难副,因为他们仍然搞不清Docker和普通开发者到底有什么关系。许多开发者觉得Docker离自己很远,Docker是生产环境中的工具,和自己无关。我也是花了很长时间才想清楚作为普通开发人员如何在自己的开发中使用Docker。坦率地说,我仍处在学习的过程中。这篇文章提供了一个Docker用例列表,我希望它能更好地帮助你理解Docker并引发你的思考。本文只是描述Docker在普通开发者日常的应用,并不提供完整的解决方案。在介绍用例之前,我希望你能先记住这句话:“Docker是一个便携的应用容器”。你可以不知道Docker所说的的“便携式容器”到底是什么意思,但是你必须清楚Docker在日常中能带来非常大的效率提升。当你需要在容器内运行自己的应用(当然可以是任何应用),Docker都提供了一个基础系统镜像作为运行应用时的基础系统。也就是说,只要是Linux系统上的应用都可以运行在Docker中。可以在Docker里面运行数据库吗?当然可以。可以在Docker里面运行Node.js网站服务器吗?当然可以。可以在Docker里面运行API服务器吗?当然可以。Docker并不在乎你的应用程序是什么、做什么,Docker提供了一组应用打包、传输和部署的方法,以便你能更好地在容器内运行任何应用。下面的例子我自己经常使用,当然你有更好的案例也可以分享给我。尝试新软件对开发者而言,每天会催生出的各式各样的新技术都需要尝试,然而开发者却不太可能为他们一一搭建好环境并进行测试。时间非常宝贵,正是得益于Docker,让我们有可能在一条或者几条命令内就搭建完环境。Docker有一个傻瓜化的获取软件的方法,Docker后台会自动获得环境镜像并且运行环境。并不仅仅是新技术环境搭建用得到Docker。如果你想快速在你的笔记本上运行一个MySQL数据库,或者一个Redis消息队列,那么使用Docker便可以非常容易地做到。例如Docker只需要一条命令便可以运行MySQL数据库:dockerrun-d-p3306:3306tutum/mysql。译者注:虽然使用命令也能非常快地安装MySQL数据库,但是当用到最新的技术或者非常复杂的技术时,使用Docker便会是个非常好的选择,例如Gitlab,普通用户大概需要一天的时间去搭建Gitlab平台,而Docker则只需要一条命令。进行演示现在我经常需要在周末用自己开发的成果对客户活着别人做一两个演示。搭建演示环境的过程非常麻烦。现在我发现Docker已经成为我演示这些工具的最合理的方式。同时,对于客户来说,我可以直接将Docker镜像提供给他们,而不必去做任何环境配置的工作,工作的效果也会和在他们演示中所看到的一模一样,同时不必担心他们的环境配置会导致我们的产品无法运行。避免“我机器上可以运行”无论是上一篇介绍的企业部署Docker还是本文的个人Docker用例,都提到了这个情况。因为环境配置不同,很多人在开发中也会遇到这个情况,甚至开发的软件到了测试人员的机器上便不能运行。但这都不是重点。重点是,如果我们有一个可靠的、可分发的标准开发环境,那么我们的开发将不会像现在这么痛苦。Docker便可以解决这个问题。Docker镜像并不会因为环境的变化而不能运行,也不会在不同的电脑上有不同的运行结果。可以给测试人员提交含有应用的Docker镜像,这样便不再会发生“在我机器上是可以运行的”这种事情,很大程度上减轻了开发人员测试人员互相检查机器环境设置带来的时间成本。另一个Docker可以发挥用处的地方是培训班。除了Docker容器的隔离性之外,更能体会到Docker优势的地方在于环境搭建。培训班的新手每个人都要在环境搭建上花费很多时间,但是如果在这里应用到Docker的话,那么我们只需要把标准的运行环境镜像分发下去,然后就可以开始上课了。使用Docker和使用虚拟机一样简单,但是Docker要更方便、更轻量级。同时,我们也可以告诉学员:“在培训的同时,我们还将学到当下最流行的技术——Docker”,这种双赢的结局,何乐而不为呢。学习Linux脚本当然这个原因看起来可能很奇怪,但是对不不熟悉Linux操作系统和Shell脚本的人来说,确实是一个好机会。即便本文并不是在讲Linux,Linux的重要度仍然不言而喻。如果你用的是Windows,那么我给你一个建议:从云主机提供商那儿租用一台云主机:我推荐使用CoreOS系统的云主机。虽然这样并不会让你成为专业的Linux运维,但是可以让你快速地学到Linux基础知识,爱上命令行操作,并且慢慢开始熟悉和欣赏Linux。更好地利用资源虚拟机的粒度是“虚拟出的机器”,而Docker的粒度则是“被*的应用”,相比较而言Docker的内存占用更少,更加轻量级。对我来说这是Docker的一个优势:因为我经常在自己电脑中运行多个Docker应用,使用Docker比使用虚拟机更加简单,方便,粒度更细,也能持续地跟踪容器状态。为微服务定制如果你一直在关注科技新闻的话,那么你应该听说过“微服务(Microservices)”的概念。Docker可以很好地和微服务结合起来。从概念上来说,一个微服务便是一个提供一整套应用程序的部分功能,Docker便可以在开发、测试和部署过程中一直充当微服务的容器。甚至生产环境也可以在Docker中部署微服务。在云服务提供商之间移植大多数的云主机提供商已经全面支持Docker。对于开发人员来说,这表示你可以很方便地切换云服务提供商,当然也可以很方便地将你本地的开发环境移动到云主机上,不需要本地上配置一次运行环境、在云主机上还配置一次运行环境。全面部署Docker(DockerhereandDockerthere)作为标准运行环境可以极大地减轻应用上线时的工作量和产生BUG。
微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计

而使用Docker容器技术,我们只需要将所需的基础镜像(jdk等)和微服务生成一个新的镜像,将这个最终的镜像部署在Docker容器中运行,这种方式简单、高效,能够快速部署服务。每个Docker容器中可以运行多个微服务,Docker容器以集群的方式部署,使用Docker Swarm对这些容器进行管理。我们创建一个镜像仓库用来存放所有的基础镜像以及生成...

k8s+docker+nacos+kafka+es+jenkins这套架构怎么搭?

对于SpringCloud微服务的开发,可使用SpringCloud Eureka进行服务发现,SpringCloud Config进行服务配置,SpringSecurity和Oauth2实现服务认证和授权,SpringCloud Zuul作为服务网关。编写Dockerfile和K8S YAML文件时,需确保应用名和Pod名一致,微服务之间的Dockerfile和K8S YAML文件应保持相似性。Bootstrap.yml和appl...

基于docker部署的微服务架构(二): 服务提供者和调用者

前一篇 基于docker部署的微服务架构(一):服务注册中心 已经成功创建了一个服务注册中心,现在我们创建一个简单的微服务,让这个服务在服务注册中心注册。然后再创建一个调用者,调用此前创建的微服务。新建一个maven工程,修改pom.xml引入 spring cloud 依赖:在 resources 目录中创建 application....

使用Dockerfile基于1.20镜像搭建Nginx微服务环境

Nginx有许多标签,福哥选择1.20版本。首先拉取镜像,启动临时容器查看内部结构。发现配置文件在/etc/nginx/nginx.conf。使用curl测试,能看到Nginx默认首页。停止、删除临时容器。福哥将设置命令整理至Dockerfile,方便通过Dockerfile安装环境。默认nginx.conf在/etc/nginx/conf.d/下,default.conf内提供Apach...

...Docker 和 Docker Compose 部署 Node.js 微服务

微服务架构已成为后端开发的常见选择,将复杂业务逻辑拆分为独立的服务,通过 tcp 通信协作,如我的 Nest 微服务项目。两个服务分别监听 8888 和 9999 端口,主服务则负责整合和返回 http 响应。部署至线上时,传统做法是构建并上传 dist 目录,但docker简化了这一过程。Dockerfile 通过封装构建和运行流程...

使用Docker 部署 Spring Boot 项目,带劲!!

Docker以其一次构建、处处运行及快速启停的特性,在微服务架构中扮演着至关重要的角色。关于Docker的基础知识,您可以点击这里阅读相关教程。本文将重点介绍如何通过IntelliJ IDEA和Maven使用Docker部署Spring Boot项目,这是Java程序员关注的实战开发内容。一、Maven插件配置 首先,在Maven的pom.xml配置文件中...

如何使用docker-compose搭建es集群?

在编写docker-compose.yml文件后,修改微服务工程中mysql和redis连接的IP,更新配置文件重新打包,构建镜像。执行docker-compose up命令启动所有服务。验证网络、容器是否正常启动,进入mysql容器创建数据库和表,测试用户新增和根据用户id获取。最后使用docker-compose stop命令一键停服务。通过docker-compose管理...

一篇打通微服务架构,nacos + gateway + Redis + MySQL + docker

本文将深入探讨在微服务架构中,如何利用nacos、gateway、Redis、MySQL和docker进行集成和搭建。首先,为项目取名GooReeyProject,基于SpringBoot和Vue构建,但具体功能暂未明确。核心组件包括nacos、gateway、Linux环境、Redis、rabbitMQ、MySQL和docker。安装步骤如下:安装MySQL5.7,特别注意在安装nacos时,需将...

Docker的使用&制作Golang微服务镜像并运行

二、使用Docker制作Golang微服务镜像并运行1.准备文件practice.go和Dockerfile文件放同一目录,并进入目录下packagemainimport("github.com/gin-gonic/gin")funcmain(){//创建一个默认的路由引擎r:=gin.Default()//GET:请求方式;/hello:请求的路径//当客户端以GET方法请求/hello路径时,会执行后面的...

docker mesos在生产环境的实践

基于Dubbo的微服务模块、缓存、队列、数据库等,目前整个集群的资源利用率也没有一个合理的规划评估,虚拟机上部署多个应用服务隔离性也存在问题,考虑到越来越多门店以及第三方流量的接入,需要考虑系统的快速的伸缩能力,而基于统一资源管理的Docker容器技术在这些方面有一些天然的优势,并且和微服务架构、DevOps体系完美衔接...

微服务 docker架构 docker微服务架构实战 如何规划it基础架构 论国土空间规划的基本架构 docker架构详解 docker原理与架构 docker架构图 docker容器架构 业务架构规划
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
设置朋友圈不让他看,他还能看见吗 微信里面设置不让某人看,那他看的到吗? 不让他看我的朋友圈他还能看到吗! 舒淇从小被家暴,她说"有些衣服,脱了就再也穿不上了",咋回事? 舒淇星路历程 舒淇自曝悲惨童年经历 盐桥原电池 负极的Zn 为什么会失电子 ZnSo4的作用又是什么 国产机械表哪个品牌值得买?这三大品牌设计品质都出众;好评高 关于双液原电池的原理有盐桥的 哪个品牌的机械表好 有人知道优就业java后期都会做什么项目吗? 微服务开发中的数据架构应该怎样设计 求《轻量级微服务架构下册》全文免费下载百度网盘... 中公优就业Java课程怎么样? 《轻量级微服务架构下册》pdf下载在线阅读全文,求... 什么是微服务架构啊? Java做微服务架构的实现技术有哪些 java dataOutputStream 详解微服务技术架构 什么是微服务? 微信上别人发的下游戏链接点开了没下载会中毒吗? 笔记本键盘上f5~f8表示什么 戴尔笔记本电脑键盘上各键分别代表什么?例如tab键 戴睿笔记本电脑的健盘健分别代表什么 联想笔记本电脑键盘上的F1~F12的功能分别是什么? 笔记本电脑上的键盘都是什么意思? 笔记本键盘的按键都代表着什么作用 请问笔记本上面的键盘各表示什么;有什么作用? 笔记本键盘每个按键是什么意思? 笔记本电脑键盘上字母都是什么意思? 求《SpringCloud微服务架构进阶》全文免费下载百度... java微服务和分布式的区别有哪些? 2022java应届生找工作需要会什么技术?对微服务有要... 求《轻量级微服务架构(上册)》全文免费下载百度网... 在微信群里的伪装语音链接,不小心点了,马上退出来,会有事吗,会中病毒吗? iPhone怎么检查电池健康度 怎么测iphone电池健康 苹果手机的电池什么状态是健康 win10设备和打印机在哪 Win10的设备管理器在哪? win10设备管理器找不到扫描仪? Win10设备管理器在哪 Win10设备管理器怎么打开 win10连接不到设备? win10 设备管理器中没端口选项是怎么回事? win10设备管理器找不到相机 win10电脑怎么找设备管理器 win10系统 电脑播放设备? 怎么查看Win10硬件设备ID Win10系统怎么启用设备门户和设备发现选项 win10找不到可开机的设备