【docker-compose】从构建镜像到一键运行Java项目

先来思考个问题,新机器跑一个常规springboot项目要几步?

1. 下载并配置java环境、mysql环境,redis环境(6步)

2. 初始化mysql数据库,导入sql文件(2步)

3. 下载jar包,启动(2步)

大概分为零零碎碎的十多步,每块又内容繁杂,而且换一台机器又是一模一样的浪费时间方法,所以今天就介绍利用docker-compose一步完成【基于docker环境(win,linux均可),一条指令完成】。

docker是什么?

基于问题出发简单解释一下,配环境是win10系统里面很痛苦的事情,各种软件各种环境,网上博客鱼目混珠,怎么配置环境,当然是找身边大佬喝杯奶茶,让精通配置安装各种软件的他来帮助你。同时互联网上有很多这样的思想,让专业的人来办专业的事情来节省一些重复又麻烦的事情,例如知识付费,代理找资源,淘宝电脑远程协助服务等等。

docker的思想就基于上面融入了容器镜像(虚拟机)思想,既然有人配置过了,走过一遍流程,那我直接把他的流程、配置的环境和需要的依赖最小化封装起来(镜像),然后别人使用就直接拿来运行(类似脚本,你执行一次(镜像)就能产生和镜像发布者一样操作的效果),存在容器中,容器又能基于镜像多次创建。这个就是docker。

本文将从零构建属于自己的docker-compose【内含很多大坑】

github仓库链接 【示例项目】

docker-compose一键运行 【示例项目】

  • 如何构建自己的镜像,和仓库?
    • springboot项目打包,基于jdk8创建镜像
    • 给镜像打tag,上传dockerhub仓库
  • docker-compose构建以及各种环境问题解决。
    • 创建docker-compose文件
    • 拉取jar包镜像-拉取mysql镜像-拉取redis镜像
    • 容器初始化顺序问题解决
    • jar包跨容器访问数据库失败

1. 创建jar包镜像

1.1 idea将springboot项目打包成Jar包

Java开发基础,jar包就是封装好的springboot程序,使用java -jar命令启动

maven package即可打包好jar

本文jar包为:face-0.0.1-SNAPSHOT.jar

1.2 创建镜像

jar包同目录下创建以下文件

取名 Dockerfile,读写完记得删去后面的txt

# Docker image for springboot file run
# VERSION 1.0.0
# Author: 404name
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER 404name<name404@163.com>
# 映射文件
VOLUME /tmp
# 将你的jar包改名为app.jar
ADD face-0.0.1-SNAPSHOT.jar app.jar
# 这里指jar包里面填的端口,才能映射暴露出去
EXPOSE 8080
# 启动脚本
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

1.3 构建镜像

先要有docker环境【链接】

当前目录下运行

docker build -t your_image_name .

例如

docker build -t 404name/sign-in-system:1.0.0 .

这里404name对应我dockerhub的用户名,后面是仓库名:版本 .点表示当前目录

2. 提交镜像

2.1 创建仓库

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

404name

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值