【Docker】(5)---springCloud注册中心打包Docker镜像
【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镜像的更多相关文章
- IDEA快速搭建 SpringCloud 注册中心与
第一步:创建 注册中心(eureka)项目 按照以下步骤一步一步来(只是对于IDEA的初学者来说) (我这里选择maven项目.比较方便) 给注册中心项目 取上可爱的名称 第二步配置 eureka的p ...
- Docker部署注册中心、Docker创建私有镜像库、自签名证书、Deploy a registry server
这是我在内部部署Docker Registry时记录下来的笔记,操作环境是Centos 7.Docker 18.06.1-ce 1.运行registry 我当前所使用的主机的IP是192.168.1. ...
- 【架构】SpringCloud 注册中心、负载均衡、熔断器、调用监控、API网关示例
示例代码: https://github.com/junneyang/springcloud-demo 参考资料: SpringCloud系列 Eureka 一句话概括下spring框架及spring ...
- SpringCloud注册中心(Eureka)
注册中心的作用就是用来方便接口暴露出来的一个管理工具,如果所有的接口只是暴露出来,没有一个同一的管理工具,又有谁知道你暴露了哪些接口了,Eureka是一个springcloud的服务注册和发现模块 搭 ...
- springcloud注册中心Eureka<英 [juəˈri:kə]>的基本搭建
1.http://start.spring.io搭建基本的springboot环境,版本用的是1.5.10 2.在pom文件中添加注册中心的jar包和springcloud的jar包 <!-- ...
- springcloud注册中心eureka
1.前提 springcloud的注册中心是以springboot为基础搭建起来的. 开发工具:IDEA 项目管理工具:maven 2.搭建步骤 创建一个web项目(建议使用IDEA工具构建项目) 修 ...
- SpringCloud注册中心环境搭建euraka
- win10 下springcloud打包docker镜像部署。
1:建一个最简单的springcloud应用. 2:在根目录下新建dockerfile,文件如下: FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE ...
- 将spring cloud打包docker镜像
简介:用spring cloud构建微服务后,微服务肯定要docker镜像化然后用rancher等可视化工具管理,这就是走完了一套基本的流程,现在简单介绍下 环境:两台centos7.x的服务器,一台 ...
随机推荐
- 基于docker实现哨兵集群部署
简单dockerfile文件,用于演示sentinel哨兵故障转移FROM centos:latest MAINTAINER BIXIAOYU RUN groupadd -r redis && ...
- Codeforces 439E Devu and Birthday Celebration 容斥
Devu and Birthday Celebration 我们发现不合法的整除因子在 m 的因子里面, 然后枚举m的因子暴力容斥, 或者用莫比乌斯系数容斥. #include<bits/std ...
- css居中,margin_and_position
首先父元素肯定是要相对定位的,其次我们上下左右居中的元素的css如下: width: 50px; height: 50px; margin: auto; position: absolute; lef ...
- 003 css总结
1.题目 有哪项方式可以对一个DOM设置它的CSS样式? CSS都有哪些选择器? CSS选择器的优先级是怎么样定义的? CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内? 超链 ...
- Spring 1 控制反转、依赖注入
1.1 Spring的核心是控制反转(IoC)和面向切面(AOP) 学习spring之前的开发中通过new创建一个对象,有了spring之后,spring创建对象实例-IoC控制反转,之后需要实例对象 ...
- 猎鱼达人_PC按键
更新模式[强制] 更新版本[3.13] 更新链接[https://yunfei-1256035889.cos.ap-beijing.myqcloud.com/%E6%8C%89%E9%94%AE%E7 ...
- AnjularJs教程
原文地址:https://www.angular.cn/guide/quickstart#step-1-install-the-angular-cli
- I - Infinite Improbability Drive
I - Infinite Improbability Drivehttp://codeforces.com/gym/241750/problem/I不断构造,先填n-1个0,然后能放1就放1,最后这个 ...
- XAML控件不可访问,它具有一定的保护级别
其它namespace的代码访问控件时会出现这个问题 需要把控件状态由protected改为public <TextBlock x:FieldModifier="public" ...
- php魔术方法__get(),__set(),__isset()的使用
1.魔术方法__get(),__set(),__isset()类: <?php /** * @purpose: 魔术方法 __get() , __set(), __isset() 的使用 * U ...