Docker-部署Java项目

你未必出类拔萃但一定与众不同

Docker部署Java项目

基于Centos7.6服务器操作

采用打包成镜像的方式部署

1.创建一个文件夹

将jar包类型项目传入

2.创建Dockerfile

在这里插入图片描述

3.对Dockerfile进行编辑
#FROM命令定义构建镜像的基础镜像,该条必须是dockerfile的首个命令
FROM java:8
#用于指定持久化目录
VOLUME /temp
#将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget
ADD schoolinfo.jar schoolinfo.jar
#构建镜像时执行的命令
RUN bash -c 'touch /schoolinfo.jar'
#配置容器,使其可执行化。配合CMD可省去"application",只使用参数
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","-Xmx500m","-Xms500m","/schoolinfo.jar"]
4.开始构建镜像
docker build -t test/schoolinfo .
5.查看docker镜像
docker images
6.使用docker镜像运行容器
docker run -d -p 8081:8081 --name schoolinfo test/schoolinfo
相关操作合集
[root@VM-0-3-centos ~]# cd /root/jarfile
[root@VM-0-3-centos jarfile]# docker build -t test/schoolinfo .
Sending build context to Docker daemon   72.3MB
Step 1/5 : FROM java:8
 ---> d23bdf5b1b1b
Step 2/5 : VOLUME /temp
 ---> Running in 32012e9ed635
Removing intermediate container 32012e9ed635
 ---> fe3f4e1fe03a
Step 3/5 : ADD schoolinfo.jar schoolinfo.jar
 ---> 648fbcf5c901
Step 4/5 : RUN bash -c 'touch /schoolinfo.jar'
 ---> Running in 7d0e8f2c9b06
Removing intermediate container 7d0e8f2c9b06
 ---> 3c35f77022d8
Step 5/5 : ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","-Xmx500m","-Xms500m","/schoolinfo.jar"]
 ---> Running in 8b4436b7bbe5
Removing intermediate container 8b4436b7bbe5
 ---> 203ba233c236
Successfully built 203ba233c236
Successfully tagged test/schoolinfo:latest
[root@VM-0-3-centos jarfile]# docker run -d -p 8081:8081 --name schoolinfo test/schoolinfo
fcfa1e65a71cc1603137d512f698cffab6df7c514cb884085af8912ae24024d3
[root@VM-0-3-centos jarfile]# 

采用java -jar运行项目部署

1.将需要部署的jar包项目上传到centos服务器上
2.jar包上传到home下 这里我上传schoolinfo.jar到home下
3.kdvolder/jdk8 是我jdk8 的镜像

没有的自行安装

docker pull kdvolder/jdk8
4.使用docker进行运行
[root@VM-0-3-centos ~]# docker run -d --restart=always  -p 8081:8081 -v /home/schoolinfo.jar:/usr/schoolinfo.jar  --name schoolinfo kdvolder/jdk8  java -jar /usr/schoolinfo.jar
8142c6b16b3986d0887a70e0bab6cdafb4acec01ce9daf5e95a24e6a7cd741c4

注意事项:

项目成功启动后无法访问可能以下两种原因

1.jar包项目中的mysql或者redis或者rabbitmq使用了localhost则无法进行访问,建议使用公网ip

2.服务器可能防火墙已经开启,或者该端口未放通

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鱼爱吃柚子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值