记录自己在ECS上通过Docker部署sprignboot项目的操作及遇到的问题

打包

把项目用maven打成jar包,右侧maven插件->Lifecycle->选中clean+package执行,打好的包在target目录下。

拉到服务器上

用xftp把jar包放到/home/用户名 下,我们使用makefile构建docker镜像。Makefile是make命令的规则配置文件。
新建一个makefile文件,里面写一些make命令,大同小异。

#获取base image,使用 Jdk8 环境 为基础镜像
FROM openjdk:8-jdk-alpine
#VOLUME 指向了一个/tmp的目录,由于 Spring Boot 使用内置的Tomcat容器,Tomcat 默认使用/tmp作为工作目录。
#这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
VOLUME /tmp
#拷贝文件并重命名
ADD spring-boot-docker-1.0.jar app.jar
#为了缩短 Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINT
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

项目的jar包和makefile文件要在同一级。

构建镜像

在此目录下,执行docker命令,
首先是docker 打包命令,

docker build -t [取个镜像名] .

此时会通过makefile文件来build镜像。

启动容器

docker run -d -p 8080:8080 --name [起个容器名] [上一步中镜像的名字]

使用docker ps -a来查看容器的具体信息,显示没问题那就是部署成功了。

遇到的问题

启动容器老是失败,通过
docker log [上一步启动容器生成的序列号]来查看日志,
日志里就是springboot项目启动时的日志,
发现是数据库连接错误,
原来是在项目里的application配置文件中,数据库地址写的是127.0.0.1,改为服务器的IP地址即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值