K8S实战
01、K8s实战:Windows10安装Docker,配置阿里云加速器
02、K8s实战:基础知识之简介
03、K8s实战:基础知识之组件
04、K8s实战:Centos7.6yum安装Docker,配置阿里云加速器
05、K8s实战:Centos7.6安装dockercompose
06、K8s实战:Centos7.6使用Ansible安装K8S(测试单节点)
07、K8s实战:Dockercompose安装中文版GitLab,配置SSH免密登录
08、K8s实战:Centos7.6安装私服Harbor
09、K8s实战:SpringBoot使用jib打包Docker镜像至私服
10、K8s实战:dockercompose之网络设置
11、K8s实战:使用开源项目io.fabric8之docker
12、K8s实战:二进制方式搭建K8S集群(环境准备)
13、K8s实战:二进制方式搭建K8S集群(完结)
14、K8s实战:K8S管理平台Rancher安装及集群导入
15、K8s实战:陈述式管理之kubectl常用命令
16、K8s实战:声明式管理示例之K8S部署Nginx及修改删除
17、K8s实战:K8S存储Volume之ConfigMap
18、K8s实战:K8S存储Volume之Secret
19、K8s实战:K8S存储之emptyDir+hostPath
20、K8s实战:K8S存储之NFSPVPVC
21、K8s实战:K8S控制器之ReplicaSet
22、K8s实战:K8S控制器之Deployment
23、K8s实战:K8S控制器之DaemonSet
24、K8s实战:K8S控制器之JobCronJob
25、K8s实战:K8S之Service
26、K8s实战:K8S之Ingress
27、K8s实战:K8S之Schedule
28、K8s实战:K8S之Helm安装与配置
29、K8s实战:K8S之部署微服务项目实战
本文档使用 MrDoc 发布
-
+
首页
11、K8s实战:使用开源项目io.fabric8之docker
随着容器化部署方式的流行,各IT公司大部分已经完成了云原生架构实现,如何将 项目工程打包成镜像并运行?国外已有众多基于Maven插件实现的打包方案,本文 已实测并实现了几种常见的打包方式,比如谷歌公司的jib、spotify等插件,实际 使用中,总出现与实际项目不太契合等各种问题,继续搜索实测后,发现了一个开源 打包插件,功能强大且使用简单,但国内相关资料甚少,所以鄙人记录之,望能帮助 到需要的小伙伴~ ### **插件介绍** 基网地址:[https://github.com/fabric8io/docker-maven-plugin](https://github.com/fabric8io/docker-maven-plugin "https://github.com/fabric8io/docker-maven-plugin") 官方文档地址:[https://dmp.fabric8.io/](https://dmp.fabric8.io/ "https://dmp.fabric8.io/") ### **插件特征:** - 支持多种配置打包镜像的方法,例如Dockerfile文件或自定义语法 - 支持远程Docker守护程序,无需本地安装docker环境 ### **实现案例** 1、 准备一个基于springboot的demo;  2、 编写Dockerfile文件,放在工程根目录下; ```python # 基础镜像 FROM 192.168.58.173/library/openjdk:8-jdk-alpine # 作者信息 MAINTAINER td # 创建工作目录 RUN mkdir -p /deploy/app # 切换工作目录 WORKDIR /deploy/app # 容器开放端口 EXPOSE 8080 # 添加jar包 ADD ./target/demo-kubenetes-2.3.0.jar ./demo-kubenetes-2.3.0.jar # 容器启动执行命令 ENTRYPOINT ["java", "-jar", "demo-kubenetes-2.3.0.jar"] ``` 3、Maven引入插件并配置相关信息 ```python <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> </configuration> </plugin> <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.33.0</version> <!--全局配置--> <configuration> <!--配置远程docker守护进程url--> <dockerHost>http://192.168.58.173:2375</dockerHost> <!--认证配置,用于私有registry认证--> <authConfig> <username>admin</username> <password>Harbor12345</password> </authConfig> <!--镜像相关配置,支持多镜像--> <images> <!-- 单个镜像配置 --> <image> <!--镜像名(含版本号)--> <name>library/${project.name}:${project.version}</name> <!--registry地址,用于推送,拉取镜像--> <registry>192.168.58.173</registry> <!--镜像build相关配置--> <build> <!--使用dockerFile文件--> <dockerFile>${project.basedir}/Dockerfile</dockerFile> </build> </image> </images> </configuration> </plugin> </plugins> </build> ``` 4、打包并推送镜像; 命令:`mvn clean package docker:build & mvn docker:push`  5、运行镜像 `docker run -it --name my-demo -p 8888:8080 192.168.58.173/library/demo-kubenetes:2.3.0 ` 
李智
2025年3月17日 13:28
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码