您好,欢迎访问一九零五行业门户网

docker-compose build(dockercompose build)

本文主要介绍docker-compose构建(docker compose构建),下面一起看看docker-compose构建(docker compose构建)相关资讯。
使用docker-compose一键部署目录和docker-compose一键部署前言快速编写微服务common-api nacos-server-consumer编写docker-compose文件common-api dockerfilenacos-ser。版本提供者 服务器-消费者 s dockerfile已写入。docker-compose.yml文件开始部署和取消部署。衡量一个人的最终标准不是他此刻站在哪里。舒适和方便,但在他面临挑战和争议的时候
简介一个简单的微服务由maven聚合项目搭建,包括注册中心、服务提供者和服务消费者,由docker-compose一键部署。
总体目录结构
快速编写微服务common-api。很明显,这是一个公共api模块,做一件事,提供接口约束。
nacos-server-provider显然,这是一个服务提供者,它引入了公共api依赖,实现了接口,并提供了外部访问url。
nacos-server-consumer我们用feign实现privider提供的rpc调用服务,并引入相应的依赖。
依赖性groupidorg.springframework.cloud/groupid artifactid spring-cloud-starter-open feign/artifactid version2.1.0.release/version/依赖性依赖性groupidcom.netflix.archaius/groupid artifactid archaius-core/artifactid版本0 . 7 . 6/版本排除排除groupidcom.google.guava/groupid artifactid guav/artifact id/exclusion/exclusion/dependency注意,记得给startup类添加注释@ enableifeignclients,然后写一个feign调用接口和对应的底层方法。
您还需要一个提供调用的url。
后续调用的界面是:nacos-server-consum:端口/消费者/sayhello,然后你会找到名称为nacos-server-provider的提供者,调用他提供的服务方法。
写docker-compose文件,除了微服务中心nacos,其他全部配合dockerfile完成镜像构建。
common-api的dockerfile(可以使用一个更小的jdk源映像,为了演示的方便,这个映像简单到不行)
来自java: 8 maintainer iamamg 97 @ 163.com run echo -【nacos-server-common-api完成!!!]- nacos的java echo 1的docker file-server-provider-@ . com 8 maintainer iamamg 97 @ 163 . com copy/target/*。jar入口点[ java和, -罐子 , /provider . jar ]运行echo -【nacos-server-provider完成!!!]- 来自nacos的java echo 1的docker file-server-consumer-@ . com 8 maintainer iamamg 97 @ 163 . com copy/target/*。罐子/消费者。jar入口点java和, -罐子 , /消费者。罐子 ]运行echo -【nacos-服务器-消费者完成!!!]- 在写docker-compose.yml文件之前没什么好讲的。现在让我们 让我们来谈谈吧。这个docker-compose.yml文件,是docker-compos: ;3.0;servic: nacos-common-api: build: cont:。/common-api dock:码头文件nacos-s: build: cont:。/nacos-服务器-提供商dock: dock:-9001 : 9001 d:-nacos-common-api naco s-server-consum: build: cont:。/nacos-服务器-消费者dock: dock:-9002 : 9002 d:-nacos-common-apin:,d:,:,nam: nacos-netdocker-compose。yml主要包含三个部分,即版本、服务和网络。
你进来的时候需要给个版本号。这个版本号不是随便给的,要看你的docker版本。
docker版本可以通过docker - version获取,我服务器上的版本是1.31.1,所以我可以选择3.0作为我的版本。
服务块内部是每个服务的定义,根据上面的配置文件对其进行进一步分析。
build代表一个build对象,与c合作。ontext上下文路径和dockerfile文件是公开的端口,并且可以有多个端口。例如,根据哪个容器依赖于为外部访问公开相应服务的端口,dependent _ on也可以有多个端口。例如,上面提到的提供者和消费者都依赖于公共api接口网络块来管理网络。
上面的意思是用nacos-net,容器外的网络,我事先通过docker网络创建的,或者不用。详情请参考官方文件。
首先,我们清理并安装整个父项目。
这里需要注意的是,jar类型的服务需要向pom文件添加以下插件。
构建插件插件groupidorg.springframework.boot/groupid工件id spring-boot-maven-plugin/工件id/plugin/plugins/build,然后启动nacos容器。
在父项目目录下执行docker-compos测试检查部署是否成功,进入nacos可视化页面,发现这两个服务已经注册。
没有问题,如果你访问网页(如果你可以 t访问它,可能是服务器安全组没有打开相应的端口)
取消部署我们的docker ps,发现提供者和消费者容器正在运行。
直接在父项目目录下使用docker-compose down来停止相应的容器服务。ps后你会发现容器已经停了。最后一行不会删除,因为网络是由网络引入的。如果在安排时没有指定网络,docker将实际定制一个网络,并在它关闭时将其删除。
综上所述,文中的例子可能并不能深刻说明docker-compose的容器排列的好处,因为简单的服务只有几个,但是一旦服务多了,使用docker-compose的优势就体现出来了,而且其实最重要的还是docker-compose.yml的编译,确实需要下点功夫。
(说得好,我选k8s...)
标签:
容器文件
了解更多docker-compose构建(docker compose构建)相关内容请关注本站点。
其它类似信息

推荐信息