Docker 部署spring boot 项目

前提条件
1,docker已安装好
2,spring boot项目已准备好

准备就绪后,咱们不废话,直接开始
1,使用maven 命令将创建好的spring-boot 项目 打包 命令如下

mvn clean package

2,此时在项目目录下会有一个target文件,如图所示

在这里插入图片描述
3,编写Dockerfile文件,内容如下:

FROM java:8    #基于哪个镜像,此处用的是java 8,那么如果没有docker 会自动的在主仓库里面下载jdk 8
VOLUME /tmp  #文件挂载
ADD spring-cloud-eureka-server01-service-0.0.1-SNAPSHOT.jar /app.jar  #将当前的jar 包改名为 app.jar
RUN bash -c 'touch /app.jar'  
EXPOSE 8761  #声明暴露接口,此处我需要暴露 8761
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]    #配置容器启动需要执行的命令

4,将spring-cloud-eureka-server01-service-0.0.1-SNAPSHOT.jarDockerfile 一并上传到 linux 服务器

5,执行linux 中docker 命令

docker build -t spring-cloud-eureka-server01-service-0.0.1 .
#docker build -t spring-cloud-eureka-server01-service-0.0.1 .
#-t 指定标签   最后有一个 . 不能省略  这是查找Dokcerfile的,使用 . 的话默认就是当前目录下

6.等待构建完成之后 ,查看docker 是否有了新加入的镜像(此处发现 不但生成了spring-cloud-eureka-server01-service-0.0.1镜像,而且也把java8 镜像 拉下来了)

[root@localhost my_files]# docker images
REPOSITORY                                   TAG                 IMAGE ID            CREATED             SIZE
spring-cloud-eureka-server01-service-0.0.1   latest              b5594d35d5f7        14 minutes ago      732 MB
nginx                                        latest              81f3c3a7ee7d        38 minutes ago      109 MB
docker.io/nginx                              latest              f68d6e55e065        5 days ago          109 MB
docker.io/java                               8                   d23bdf5b1b1b        2 years ago         643 MB

7.启动 spring boot 项目

[root@localhost my_files]# docker run -p 8761:8761 spring-cloud-eureka-server01-service-0.0.1
# 由于想看到启动的信息,所以没有加 -d 后台 启动, 
# -p 8761:8761 是将本机的8761端口映射到docker 容器里面的8761端口上,如果docker 的端口不映射出来,那么我们在外面是无法访问的

8,访问 http://192.168.109.133:8761/
在这里插入图片描述

项目源码已上传到github:https://github.com/q920447939/java-study

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值