windows SpringBoot JAR包 打docker镜像到远程镜像仓库

windows SpringBoot JAR包 打docker镜像到远程镜像仓库

一、pom.xml

在需要打包的项目pom.xml文件中加入

<properties>
	<docker.image.prefix>远程镜像仓库地址</docker.image.prefix>
	<dockerfile-maven-plugin.version>1.4.12</dockerfile-maven-plugin.version>
</properties>

远程镜像仓库地址一般由:远程镜像仓库地址+空间组成,以自己的路径为准

加入maven插件“dockerfile-maven-plugin”

<build>
	<plugins>
		<!-- docker打包插件 -->
		<plugin>
			<groupId>com.spotify</groupId>
			<artifactId>dockerfile-maven-plugin</artifactId>
			<version>${dockerfile-maven-plugin.version}</version>
			<configuration>
				<useMavenSettingsForAuth>true</useMavenSettingsForAuth>
				<repository>${docker.image.prefix}/${project.artifactId}</repository>
				<tag>${project.version}-${profile.active}</tag>
				<buildArgs>
					<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
				</buildArgs>
			</configuration>
		</plugin>
	</plugins>
</build>

其中:我们把${project.artifactId}作为镜像名称,你也可以定义为其它
${project.version}+${profile.active}作为镜像的tag,也就是版本号
JAR_FILE:我们mvn package 已经打包好的项目jar文件路径

二、Dockerfile配置

FROM openjdk:8-jre
#维护者信息
MAINTAINER 姓名 邮箱
#设置容器时间时区
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone

ARG JAR_FILE
COPY ${JAR_FILE} /app.jar

ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]
CMD ["--spring.profiles.active=docker"]

三、安装docker

在本地虚拟机或者远程的云服务器安装docker

#配置docker源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#更新Yum安装的相关Docke软件包&安装Docker CE

yum update -y && yum install docker-ce

#设置docker daemon文件
#创建/etc/docker目录

mkdir /etc/docker

#更新daemon.json文件

cat > /etc/docker/daemon.json <<EOF
{"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"registry-mirrors": ["https://mirror.ccs.tencentyun.com/"]}
EOF

#创建,存储docker配置文件

mkdir -p /etc/systemd/system/docker.service.d

#重启docker服务

systemctl daemon-reload && systemctl restart docker && systemctl enable docker

#验证安装

docker version

输出版本信息,安装成功!

#开启docker远程API
想在windows中操作远程linux中的docker,必须开启docker远程API
修改docker配置文件:

vi /usr/lib/systemd/system/docker.service

找到ExecStart,在后面加上(注意-H之间有空格):

-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

保存退出!
#重加载配置文件和重启docker

systemctl daemon-reload && systemctl restart docker

#验证是否开启docker远程API

netstat -anp|grep 2375

显示docker正在监听2375端口,
输入:

curl 127.0.0.1:2375/info 

打印一堆JSON字符串,说明docker远程API开启成功啦

#iptables放行2375端口(不然外网访问不到)

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 2375 -j ACCEPT

四、windown配置docker变量

#在windows系统环境变量配置

 名称:DOCKER_HOST
  值:tcp://http://${IP}:2375

${IP}改为你的远程docker主机IP

#配置settings.xml
找到你windown maven的配置文件settings.xml(查看你idea或者eclipse的maven配置就可以看到,或者目录搜索.m2,一般在这个目录下),加入:

<servers>
	<server>
		<id>你的镜像仓库地址</id>
		<username>镜像仓库登录账户</username>
		<password>镜像仓库登录密码</password>
	</server>
</servers>

配置完毕,最好重启一下编辑器(IDEA||eclipse)

五、打包&制作镜像&push镜像到远程仓库

mvn clean package -P test
mvn dockerfile:build dockerfile:push

IDEA也可以在:Maven projects–>lifecycle->package 打包JAR
制作镜像和推送:Maven projects–>Plugins->Dockerfile->dockerfile:build&dockerfile:push

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值