Docker-部署Java项目
你未必出类拔萃但一定与众不同Docker部署Java项目基于Centos7.6服务器操作Docker部署jar包项目Docker部署Java项目采用打包成镜像的方式部署1.创建一个文件夹2.创建Dockerfile3.对Dockerfile进行编辑4.开始构建镜像5.查看docker镜像6.使用docker镜像运行容器相关操作合集采用java -jar运行项目部署1.将需要部署的jar包项目上传到
·
你未必出类拔萃但一定与众不同
Docker部署Java项目
基于Centos7.6服务器操作
Docker部署jar包项目
采用打包成镜像的方式部署
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.服务器可能防火墙已经开启,或者该端口未放通
更多推荐
已为社区贡献1条内容
所有评论(0)