idea jar放进本地仓库 为何依赖不了_基于win10+Docker+idea的SpringBoot项目容器化部署...

以前发过一些docker相关的文章,也发过一些Springboot相关的文章,今天这篇文章是教大家如何在win10下面基于docker构建Springboot项目

工具 & 环境

  • maven

  • jdk

  • idea

  • docker

  • win10

win10上安装Docker

软件安装这个就不多说了,大家可以参考这个帖子 :链接如下:https://blog.csdn.net/hunan961/article/details/79484098 主要注意两点就行了: 1.允许版本:64位Windows 10 Pro,专业版、企业版和教育版 2.开启虚拟化。7836981414cbb8207d431dd83cfe715a.png安装完成后,看到一个驮着很多集装箱的鲸鱼没,盘它!错了 ,点击启动它。8fdde64a2bdb01c0f58e94b74f414a9a.pngdocker 安装完默认的docker hub 网址是 hub.docker.com ,注册一下,后面用到,比如,博主注册的账户是492782442

创建一个Springboot项目并且整合docker

如图:使用idea的傻瓜式操作创建一个Springboot项目b8096152ea22d9d5158c129d0942b364.png项目创建好以后在pom里面加入 docker-maven-plugin

492782442

com.spotify

docker-maven-plugin

1.0.0

${docker.image.prefix}/${project.artifactId}

src/main/docker

/

${project.build.directory}

${project.build.finalName}.jar

这里面指定了镜像名称以及docker脚本的执行目录,创建docker目录并编写Dockerfile脚本

FROM cantara/alpine-openjdk-jdk8

COPY spring-boot-docker.jar /spring-boot-docker.jar

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

只有三行脚本代码,为防止看不懂贴一下Docker语法:

  • FROM 基础镜像base image

  • RUN 执行命令

  • ADD 添加文件

  • COPY 拷贝文件

  • CMD 执行命令

  • EXPOSE 执行命令

  • WORKDIR 指定路径

  • MAINTAINER 维护者

  • ENV 设定环境变量

  • USER 指定路径

  • VOLUME 逻辑卷挂载点mount point

并根据实际情况使用。 可以看到Dockerfile里面有跟jar包有关的,那么在执行Dockerfile之前,install一下项目,并且使用 finalName属性指定打jar包后的包名,

spring-boot-docker

...

直接使用idea的maven插件即可,点击install,构建jar包73dca688f3706332d2c22ca93d158a83.png生成的jar包如图所示fd9b413876ef30478a8cac5241961527.png

构建docker镜像

学过maven语法和docker语法的都知道很多场景的命令方式,但是,有界面傻瓜操作不用不是傻吗,来,点开idea的右侧maven那一栏,Plugins下面有docker,展开点击第一个13eed5fdf964df8f1638779a255814f4.png构建日志如下:

[INFO]

[INFO] ------------------------------------------------------------------------

[INFO] Building spring-boot-docker 0.0.1-SNAPSHOT

[INFO] ------------------------------------------------------------------------

[INFO]

[INFO] --- docker-maven-plugin:1.0.0:build (default-cli) @ spring-boot-docker ---

[INFO] Using authentication suppliers: [ConfigFileRegistryAuthSupplier]

[INFO] Copying D:\博客\spring-boot-2.0-leaning\spring-boot-docker\target\spring-boot-docker.jar -> D:\博客\spring-boot-2.0-leaning\spring-boot-docker\target\docker\spring-boot-docker.jar

[INFO] Copying src\main\docker\Dockerfile -> D:\博客\spring-boot-2.0-leaning\spring-boot-docker\target\docker\Dockerfile

[INFO] Building image 492782442/spring-boot-docker

Step 1/3 : FROM cantara/alpine-openjdk-jdk8

---> b250403334b3

Step 2/3 : COPY spring-boot-docker.jar /spring-boot-docker.jar

---> c6466f2eafe9

Step 3/3 : ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/spring-boot-docker.jar"]

---> Running in 03f67a5ff7de

Removing intermediate container 03f67a5ff7de

---> c6aff6fdadd4

ProgressMessage{id=null, status=null, stream=null, error=null, progress=null, progressDetail=null}

Successfully built c6aff6fdadd4

Successfully tagged 492782442/spring-boot-docker:latest

[INFO] Built 492782442/spring-boot-docker

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 5.356 s

[INFO] Finished at: 2019-05-23T17:55:29+08:00

[INFO] Final Memory: 32M/330M

[INFO] ------------------------------------------------------------------------

构建好的镜像去哪看?docker本地仓库啊,这里再照顾对docker命令不熟悉的朋友,可以使用idea的界面去看 。先把界面调出来109081872c3ac0ada0d7d23597be49c3.png在界面点开连接之后,其他的都是傻瓜式交互了c5600460f18c5077e7b4511dbfc4eb6b.png试试本地基于镜像创建容器。在镜像上点击Create containerb73957370712cde88e5ca255cb34fc27.png填写好端口映射之后,点击Run 启动,然后在idea里面可以看到相关日志,启动成功,完美!f1b730f15e0163e4e04b764c2016d0e7.png那么到这是不是就结束了呢?显然不是,咱们只是在本地玩玩,远程怎么玩呢? 当然得把镜像推到远程仓库啊! 回到我们之前说的 去hub.docker.com 注册好了以后,创建 Repository14abde4a3ee04347c10c86ea0b2ef602.png怎么理解呢,就跟你推送新项目到github一样就行了。cd82645b526d16fd42b23f0745c58a10.png选择公开的,私有的要钱创建不了!  这里我们假设你们还是docker零基础,使用idea的页面进行操作, 鼠标右键镜像后点击push image460ab2f63dfed81489cd3006bd046a81.pngf062d55eff468b72690a6a771b68448b.png太慢了不好看进度,不装逼,直接用命令行了!82a0f25cb177a1330c740af727b8c883.png果然命令行还是贼快5d22c6357dec4abccf02b562e379b523.png完成!现在就可以在远程机器上pull下来愉快的玩耍了!

推荐阅读

徒手撸一个 Spring Boot 中的 Starter ,解密自动化配置黑魔法!

惊了!7 行代码优雅地实现 Excel 文件导出功能?

技术经理:求求你,别再乱改数据库连接池的大小了!

19条效率至少提高3倍的MySQL技巧

一个历时五天的 Bug

JAVA葵花宝典的正确打开方式

619ef2e57043658e4bdb0a95beb569db.png

关注一下,尽知JAVA事!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值