现在的微服务时代,你的代码没个微服务、分布式人家都会觉得低端,当然!对于我们开发人员来说,掌握这些技术意味着涨薪。 我们项目中用到了多个微服务,我们上一节课程打包用的是手动上传,但是很麻烦,有没有更好的方式呢,是有的,我们可以直接通过idea将我们的微服务打包成Docker镜像,并推送到Docker仓库中
Jib 是 Google 开发的可以直接构建 Java 应用的 Docker 和 OCI 镜像的类库,以 Maven 和 Gradle 插件形式提供。 Jib带来的是,它允许您通过简单地将插件添加到您选择的构建工具(Maven或Gradle)来创建容器,没有额外的文件,只需几行配置,它处理将应用程序打包到容器映像的所有步骤。
在“传统”Java到Docker映像构建流程中,我们需要安装Dockerfile和docker守护进程,在Jib构建流程中,您只需要插件项目的构建文件。
我们要将idea的微服务推送到Harbor,并且用itcast的用户,所有我们要设置我们的itcast用户是开发者
对于应用程序的基本本地存储镜像,请在pom.xml以下内容中配置jib-maven-plugin公共属性配置
在properties中配置harbor的共有配置
然后在项目根目录执行mvn clean compile jib:build就可以了
我们看到已经推送成功了harbor仓库中查看
通过域名访问harbor,我们看我们的library里面的镜像仓库
点进去就可以看到我们刚刚推送的镜像
以及镜像的详细信息
这里我们也将其他微服务上传到仓库,步骤同上
在我们的仓库中查看镜像,我们看到镜像都已经上传到仓库中了
可以通过docker rmi 镜像ID删除本地镜像
我们把我们的所有微服务都上传到了仓库中,我们以一个完整的项目运行docker
执行运行命令
因为我们是基于内部网络访问 不需要暴漏接口了
访问微服务测试
执行运行命令
该微服务也是内部服务不需要暴漏端口,并且没有配置日志输出所有不挂载日志路径
执行运行命令
因为网关对外需要暴漏端口,所有需要开放8888端口查看nacos注册的微服务
我们发现我们的三个服务都已经注册进去了
因为我们存储服务的8003端口没有暴漏出来,无法访问,我们需要通过网关进行访问
本文由传智教育博学谷 - 狂野架构师教研团队发布
如果本文对您有帮助,欢迎关注和点赞;如果您有任何建议也可留言评论或私信,您的支持是我坚持创作的动力
转载请注明出处!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |