通过maven插件构建docker镜像
通过maven插件构建docker镜像: 1、在pom.xml 中添加maven的docker插件。 <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <configuration> <imageName>jingdata/microservice-discovery-eureka:0.0.1</imageName> <baseImage>java</baseImage> <entryPoint>["java","-jar","/{project.build.finalName}.jar"]</entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> 2、构建docker镜像: mvn clean package docker:build 3、执行docker images 查看刚构建的镜像 4、启动镜像: docker run -d -p 8761:8761 jingdata/microservice-discovery-eureka:0.0.1 5、访问测试: 128.0.0.1:8761
插件读取dockerfile进行构建:
1、在src/main目录下,新建文件夹docker,在文件夹中新建一个Dockerfile文件。 FROM java:8 VOLUME /tmp ADD microservice-discovery-erueka-0.0.1-SNAPSHOT.jar app.jar RUN bash -c 'touch /app.jar' EXPOSE 9000 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] 修改pom.xml文件: <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <configuration> <imageName>jingdata/microservice-discovery-eureka:0.0.2</imageName> <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> 2.将插件绑定在没某个phase执行 <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <executions> <execution> <id>build-image</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions> <configuration> <imageName>jingdata/microservice-discovery-eureka:0.0.3</imageName> <baseImage>java</baseImage> <entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> 3.推送镜像 (1)、修改maven的全局配置文件settings.xml,在其中添加docker hub的用户信息。 <server> <id>docker-hub</id> <username>docker-hub的用户名</username> <password>docker-hub的密码</password> <configuration> <email>docker-hub的邮箱</email> </configuration> </server> (2)、修改pom.xml文件 <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <configuration> <imageName>jingdata/microservice-discovery-eureka:0.0.4</imageName> <baseImage>java</baseImage> <entryPoint>["java","-jar","/{project.build.finalName}.jar"]</entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> <!-- 与maven配置文件settings中配置的server id一致,用于推送镜像---> <serverId>docker-hub</serverId> </configuration> </plugin> (3)、添加pushImage标示,推送镜像 mvn clean package docker:build -DpushImage (4)、推送到私有仓库地址: <imageName>localhost:5000/jingdata/microservice-discovery-eureka:0.0.4</imageName>
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
使用dockerfile构建docker镜像
使用dockerfile构建docker镜像例子: 1、最简单的依靠dockerfile构建docker镜像的例子: (1)、准备一个文件,命名为Dockerfile: FROM nginx RUN echo '<h1>最简单例子,依靠Dockerfile 构建docker镜像</h1>' > /usr/share/nginx/html/index.html (2)、构建镜像命令,(.)表示当前路径: docker build -t nginx:li . (3)、启动一个docker容器: docker run -d -p 92:80 nginx:li 2、将springboot项目构建成docker镜像: (1)、将springboot项目打包成jar包。 (2)、在jar包所在目录,新建Dockerfile文件: touch Dockerfile (3)、编辑Dockerfile文件内容: #基于哪个镜像 FROM java:8 #将本地文件夹挂载到当前容器 VOLUME /tmp #复制文件到容器,也可以直接写成 ADD microservice-d...
- 下一篇
新手怎么选择阿里云服务器ECS的规格配置?
无论是企业还是个人用户,如果需要在网上开展业务都需要有自己的网站或者APP客户端、小程序等。要搭建网站或者网络应用就需要有一个主机或者服务器作为容器,考虑到性价比大家现在都喜欢选择云服务器。但是新手怎么选择云服务器配置能既节约成本又满足应用需求呢? 一、选择离用户更近的云服务器地域: 影响网站访问速度的一个重要因素是服务器节点所在地域。也就是说如果服务器节点地域离你目标客户群地区越接近,那么你网站的访问速度就会越快。所以,选择云服务器地域的原则就是尽量选择自己用户最近的地域节点。 下面以阿里云的ECS云服务器为例说明。为什么要以阿里云主机为例? 因为阿里云的ECS云服务器是国内地域节点最多最全的云服务器,可选择的余地要更大一些,不论你目标用户在哪里,都可以找到适合自己的云服务器所在地域。 首先打开阿里云:www.aliyun.com 然后我们找到ECS的地域选择,可以看到多达20余个地域节点,不但包括国内节点,而且还有香港、新加坡等、印尼等东南亚节点以及欧洲、美洲、中东、印度等国外节点,不管你是面向国内用户,还是面向国外用户都可以找到最快的云服务器地域。 1、假如我们网站主要面向南方客...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16