【Docker】(5)---springCloud注册中心打包Docker镜像

上一篇文章讲了将镜像推送到远处私有仓库,然后再从私有仓库拉取该镜像的过程。而这里的镜像是直接从Docker拉取的。

所以这篇要讲的就是将本地项目打包成Docker镜像的过程。

先说明: 操作系统:mac,JDK版本:1.8,Maven版本:3.5.4

一、Mac安装Docker

1、下载 docker.dmg文件,然后点击下一步,安装完成。

2、下载好后,点击启动Docker,之后在命令行输入:docker version

说明本地安装Docker已经成功

二、创建注册中心服务项目

1、application.yml

server:
port: 7001 eureka:
instance:
hostname: localhost
client:
#声明自己是个服务端
registerWithEureka: false #false表示不向注册中心注册自己
fetchRegistry: false #false表示自己就是注册中心,职责是维护实例,不参加检索
serviceUrl: #设置eureka server的交互地址,即对外暴露的地址
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

2、启动类

@SpringBootApplication
@EnableEurekaServer
@RestController
public class EurekaserverApplication { public static void main(String[] args) {
SpringApplication.run(EurekaserverApplication.class, args);
} //用来测试 是否镜像容器是否成功
@RequestMapping("/user")
public Object findUser(){
Map<String, String > map = new HashMap<>();
map.put("name", "xuxiaoxiao");
map.put("age","2");
return map;
}
}

有关pom的配置,在之前写springcloud中有展示。

三、配置Docker的maven插件

1、dockerfile-maven-plugin插件

       <plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.7</version>
<configuration>
<!--打包镜像名称 docker.image.prefix是在上面properties中设置的-->
<!--<docker.image.prefix>xdclass</docker.image.prefix>-->
<repository>${docker.image.prefix}/${project.artifactId}</repository>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>

2、配置Dockerfile

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

3、执行打包命令

执行命令:mvn clean package dockerfile:build

说明:之前这边配置的 <version>1.3.6</version>执行上面命令一直报错,之后在STACK OVERFLOW找到原因,因为插件本身版本问题,后面改成1.4.7版本就不报这个错了。

运行成功如图

查看本地镜像

启动镜像容器:docker run -d --name "start" -p 9999:7001 ffff160672d1

页面访问9999端口,看容器是否启动成功。



成功!

有关dockerfile-maven-plugin插件和Dockerfile文件,在接下来博客中会深入了解。

如果一个人充满快乐,正面的思想,那么好的人事物就会和他共鸣,而且被他吸引过来。同样,一个人老带悲伤,倒霉的事情也会跟过来。

                                                  ——在自己心情低落的时候,告诫自己不要把负能量带给别人。(大校7)

【Docker】(5)---springCloud注册中心打包Docker镜像的更多相关文章

  1. IDEA快速搭建 SpringCloud 注册中心与

    第一步:创建 注册中心(eureka)项目 按照以下步骤一步一步来(只是对于IDEA的初学者来说) (我这里选择maven项目.比较方便) 给注册中心项目 取上可爱的名称 第二步配置 eureka的p ...

  2. Docker部署注册中心、Docker创建私有镜像库、自签名证书、Deploy a registry server

    这是我在内部部署Docker Registry时记录下来的笔记,操作环境是Centos 7.Docker 18.06.1-ce 1.运行registry 我当前所使用的主机的IP是192.168.1. ...

  3. 【架构】SpringCloud 注册中心、负载均衡、熔断器、调用监控、API网关示例

    示例代码: https://github.com/junneyang/springcloud-demo 参考资料: SpringCloud系列 Eureka 一句话概括下spring框架及spring ...

  4. SpringCloud注册中心(Eureka)

    注册中心的作用就是用来方便接口暴露出来的一个管理工具,如果所有的接口只是暴露出来,没有一个同一的管理工具,又有谁知道你暴露了哪些接口了,Eureka是一个springcloud的服务注册和发现模块 搭 ...

  5. springcloud注册中心Eureka<英 [juəˈri:kə]>的基本搭建

    1.http://start.spring.io搭建基本的springboot环境,版本用的是1.5.10 2.在pom文件中添加注册中心的jar包和springcloud的jar包 <!-- ...

  6. springcloud注册中心eureka

    1.前提 springcloud的注册中心是以springboot为基础搭建起来的. 开发工具:IDEA 项目管理工具:maven 2.搭建步骤 创建一个web项目(建议使用IDEA工具构建项目) 修 ...

  7. SpringCloud注册中心环境搭建euraka

  8. win10 下springcloud打包docker镜像部署。

    1:建一个最简单的springcloud应用. 2:在根目录下新建dockerfile,文件如下: FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE ...

  9. 将spring cloud打包docker镜像

    简介:用spring cloud构建微服务后,微服务肯定要docker镜像化然后用rancher等可视化工具管理,这就是走完了一套基本的流程,现在简单介绍下 环境:两台centos7.x的服务器,一台 ...

随机推荐

  1. AspNet Core下利用 app-metrics+Grafana + InfluxDB实现高大上的性能监控界面

    在日常系统工作中,我们为了洞察系统的问题和运作情况通常会记录日志的方式来进行分析,但是在很多情况下都是被动的在出问题后才会去查日志.在很多时候,我们可能更需要相对实时的了解整个系统或者某一时段的运行的 ...

  2. SSH(Struts+spring+hibernate)配置

    1.spring和struts 1)web.xml 配置spring的ContextLoaderListener(监听器) 配置Struts的StrutsPrepareAndExecuteFilter ...

  3. python copy模块

    python copy模块 copy模块用于对象的拷贝操作 该模块只提供了两个主要的方法: copy.copy:浅复制 copy.deepcopy:深复制 直接赋值,深拷贝和浅拷贝的区别 直接赋值:简 ...

  4. 《团队作业》五小福团队作业--UNO-- LandingDay--降落

    <团队作业>五小福团队作业--UNO-- LandingDay--降落 写在前面 几周的飞行之后,降落之日也如期而至了.在2018年12月19日我们顺利地完成了项目的总结汇报.但是,短暂的 ...

  5. 使用vue-awesome-swiper的相关问题

    最近自己在仿做一个旅游网站的vue项目,在首页中使用了vue-awesome-swiper插件来实现轮播图的效果,发现了以下几种问题: 一.需要额外引入swiper.css 原来使用vue-aweso ...

  6. MySql分割字符串【存储过程】

    MYSql没有表变量,通过函数无法返回表. 参考网址:https://bbs.csdn.net/topics/330021055 DELIMITER $$ USE `数据库`$$ DROP PROCE ...

  7. BZOJ.4160.[NEERC2009]Exclusive Access 2(状压DP Dilworth定理)

    BZOJ DAG中,根据\(Dilworth\)定理,有 \(最长反链=最小链覆盖\),也有 \(最长链=最小反链划分数-1\)(这个是指最短的最长链?并不是很确定=-=),即把所有点划分成最少的集合 ...

  8. ABAQUS/CAE——Context

    Part(部分) 用户在Part单元内生成单个部件,可以直接在ABAQUS/CAE环境下用图形工具生成部件的几何形状,也可以从其他的图形软件输入部件.详细可参考ABAQUS/CAE用户手册第15章. ...

  9. 分布式版本控制系统Git的安装与使用

    分布式版本控制系统Git的安装与使用 作业要求来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103 我的远端仓库地址是:htt ...

  10. java 根据某个数字,计算前后多少天的具体日期

    import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import ...