docker内部访问其他端口_小胖哥java干货分享:徒手搭建docker 容器化的springboot应用...

起步就不罗嗦了,今天通过了认证开始写自己的原创技术文章,不管有没有看就当锻炼自己了,当然小小的关注也是一种鼓励。

5eee1a81280e55313d98f5a5a6fbfeee.png

docker 是啥?好处是啥? 什么现在如果作为一名开发你还不知道甚至没有用过我都感觉你落伍了。docker 是一种虚拟化的容器技术,目的为了打造持续集成、版本控制、可移植性、隔离性和安全性的应用集成。这都是官话。其实我认为最简单的理解就是docker 能给你的应用打造一套隔离的应用环境。只要能跑docker的环境,不管是linux,还是mac,还是windows都能快速把你的应用部署过来甚至达到秒级启动。如果你有个mysql集群镜像,你瞬间就能启动一个mysql集群,如果让你用手撸一个估计得一袋烟的工夫。看到这里如果没用过docker,赶紧找资料学习去,并不难学。别忘记关注一下,回来接着下面的干货分享。

474683a658c0510b6ce773b6b0083fe7.png

说完docker就该说springboot了,这个目前在java web界秀得飞起。作为spring家族的后继者,有着配置简化,快速启动,模块化的优点。只要搞java web的目前应该不会不知道。目前最新的GA版本(生产可用)已经是2.1.5.RELEASE。罗嗦这么多开始撸码。 规矩上来先说明环境配置。

  • springboot 版本2.1.5.RELEASE
  • jdk版本 java 8 这里可以选择openjdk8 或者 oracle jdk8
  • docker 环境 自己可以选择 linux,mac或者win 没有区别
  • 开发工具 idea2019旗舰版

通过这个入口初始化一个简单的springboot web maven应用,点下一步。

143c77d7324f652e35c9db4f01b6f0bf.png

自己修改下包路径或者不修改直接下一步在 web栏目中勾选spring web starter 以保证我们能写个简单的springmvc 接口。然后下一步,下一步直到操作完。检查pom.xml 是否跟我一样。

org.springframework.boot spring-boot-starter-web 

然后写一个接口如下

fe77e956f2b2d15f3fc089aa7ae3be5b.png

启动main 函数后浏览器跑一下 http://localhost:8080/docker/hello 看看出现如下结果表示没有问题。

62baf6103d00e0f8ce758f41eafe6486.png

接下来我们要把spring boot打包成可执行jar

4666903f9cc401649bac1e5595fbe97f.png

点击上图的 package 或者熟悉maven的 用高逼格命令行操作 mvn clean package 编译好

会有

fc6a8a38aa9e6e1845915a50068bd2fc.png

下来该编写docker创建镜像的打包脚本,名称必须是Dockerfile,位置为项目根目录,还有其他插件操作位置不尽相同。内容如下

bdcb1cf15e78fb0f794772ee68ecf466.png

然后在项目目录下打开命令行(idea 自带有)执行脚本(记得启动docker)不要忘记最后的点 代表当前路径 其他路径 写相对路径

docker build -t docker-springboot:0.0.1 .

然后进入分层构建阶段 走到最后镜像就成了如下

059c5ad646def535c032854b1012a848.png

命令行 执行 docker images 查看一下是否存在 一个 docker-springboot:0.0.1 的镜像,只要结果跟上图一样就一定存在。然后从镜像启动一个容器,命令行如下

docker run --name docker-app -p 8088:8080 docker-springboot:0.0.1

上面意思是 我前台从 docker-springboot:0.0.1 镜像启动一个名字叫docker-app的容器应用,同时将容器内部端口8080:映射到宿主机端口8088 ,这样我们可以通过本地端口8088访问容器端口8080 。我们本地浏览器访问下上面的接口 改成端口8088

5002851e6d0a16e8160f8418777f4bfb.png

大功告成。以后的时间里,我将一一讲解这一过程的细节问题。关注我,不迷路。如果你有疑问或者有更好的点子不妨在留言中进行讨论。

0047fd28df6690558d5c57b79881ab8e.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值