构建Spring Cloud 项目Docker镜像

随着云的普及,Devops开发方式越来越流行,开发运维一体化让开发感到便捷很多。从单人开发到多人协同开发,从开发交付测试人到交付用户,这中间思路的转变也是随着技术不断革新而转变。

最初在公司尝试开发流程,没有技术的支持,全靠人治效果可想而知;后来尝试持续交付,开发流程配合工具让开发尝到甜头,效率也提升不少,但是在一个toB的软件公司,运维的压力其实比较大(主要是同一个软件产品,最终部署时软件功能、硬件环境、部署方式都可能不一样),一直想着怎么把运维的压力减少,或者是通过新技术缓解这样的压力。当初想到Docker,但是没有进行实施计划最后不了了之。

Spring Cloud +Docker+k8s 一套不错的组合。

安装Docker私服仓库registry

配置docker

#编辑docker.service文件
vim /lib/systemd/system/docker.service
#内容修改
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

开启端口2375不安全,开启证书认证2376 端口

Eclipse 安装Docker Tools插件

http://download.eclipse.org/linuxtools/updates-docker-nightly/  

本地安装Docker

下载地址: https://www.docker.com/get-docker

本地必须安装Docker环境,否则插件无法使用。

Docker 插件配置配置

dockerfile-maven-plugin 此插件必须安装Docker环境

 

<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
		<bigdata.version>0.0.1-SNAPSHOT</bigdata.version>

		<spring-cloud.version>2.1.0.RELEASE</spring-cloud.version>
		<docker.repostory>172.18.11.126:5000</docker.repostory>
</properties>
              
<plugin>
				<groupId>com.spotify</groupId>
				<artifactId>dockerfile-maven-plugin</artifactId>
				<version>1.4.13</version>
				<executions>
					<execution>
						<id>default</id>
                        <phase>install</phase>
						<goals>
							<goal>build</goal>
							<goal>push</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<repository>${docker.repostory}/${project.artifactId}</repository>
					<tag>${project.version}</tag>
					<buildArgs>
						<JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
					</buildArgs>
				</configuration>
			</plugin>

Dockerfile 文件配置

此文件与pom.xml文件同目录

FROM java:8
ARG JAR_FILE
ADD target/${JAR_FILE} app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]

配置本地环境变量

mvn install 构建后,服务端Docker出现镜像

备注:安装过程中有一个误区

  1. Docker desktop 安装问题导致构建失败
  2. registry提供私服仓库,想当然认为镜像也是通过该仓库路径上传,而事实镜像是通过Docker与Docker TCP端口2375之间上传,registry只是提供pull服务。
  3. 因为插件配置中少<phase>install</phase>,registry私服中未显示发布镜像。

参考:

Eclipse用docker Maven插件构建镜像发布到远程服务器

Eclipse下spingClound和Docker的使用【windowns系统】

windows 10 专业版 安装docker desktop

docker registry私有仓库的使用方法介绍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值