docker启动Java程序的方法步骤
创建一个简单的Spring boot web项目
idea工具创建Spring boot web项目,因为是测试,一直next就行。
写一个test API,用来访问,服务端口号可以不用改,我本地改成8701。
程序启动,发现程序不是默认的8080端口了,访问:http://localhost:8701/v1/hello
以上一个简单web项目建好了,下面我们通过docker来运行这个demo项目
第一步,你需要安装docker(这里不做详细步骤)。
第二步,我们需要一个有java环境docker镜像。我是从网易云镜像中心下载了一个,地址:https://c.163yun.com/hub#/library/repository/info?repoId=65430,大家也可以从阿里云等找到相应的具有java环境的镜像来制作也可以。
获取镜像,将镜像拉到本地
docker pull hub.c.163.com/housan993/centos7_jdk8:latest
第三步,我们现将demo项目打个jar包,mvn install,为了方便我生成的jar直接从target中拿到项目根目录下了。
第四步,我们在项目下编写一个Dockerfile文件,用来制作demo项目的镜像。
dockerfile文件里的命令大家执行百度
dockerfile文件内容: FROM hub.c.163.com/housan993/centos7_jdk8:latest COPY demo-0.0.1-SNAPSHOT.jar / CMD java -jar demo-0.0.1-SNAPSHOT.jar
编写好dockerfile文件后,我们通过docker命令来build一个镜像。docker命令会自动找当前目录下的Dockerfile文件(默认的文件名要为Dockerfile),其次要指定目录路径 “.”表示当前目前
docker build -t demo-img .
看到如下日志,镜像就制作成功了。
第五步,我们根据制作的镜像来启动我们程序的容器,并将端口(8701)映射到把本机的8701出来。
docker run -d -p 8701:8701 demo-image
run完之后我们会得到一长串字符,这就是容器的CONTAINER ID。我们docker ps一下看看
我们再看看容器启动的日志,看看我们的java程序有没有运行起来
docker logs [CONTAINER ID]
由容器的日志,我们发现和我们本地启动一个Java程序的日志一模一样,那么我通过映射出来的端口,再访问下demo程序看看,行不行。
我们将demo容器停下,看我们还能访问不?
stop容器命令:docker stop [CONTAINER ID]
访问不了了。。。
我们再把我们的demo容器启动
docker start [CONTAINER ID]
又可以访问了。至此,我们通过docker 跑java程序的简单使用已经完成。
展望上面只是docker 跑java程序的简单使用。我们后续有兴趣的,可以自己将打包,build等命令进行shell脚本的分装,对容器版本进行自动生成,参数变量的动态取值都是可以的。只能说容器话非常好玩,将来自己项目自动化部署也是非常方便的,后面将介绍k8s容器编排工具,更为有趣。
到此这篇关于docker启动Java程序的方法步骤的文章就介绍到这了,更多相关docker启动Java程序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
docker(alpine+golang) 中 hosts 不生效问题解决方法
这篇文章主要介绍了docker(alpine+golang) 中 hosts 不生效问题解决大全,本文给大家分享了三种解决方法,每种方法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-07-07Linux下使用Docker部署MinIO存储服务实现远程上传的方法
MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等,本文主要是Linux下通过Docker部署MinIO存储服务实现远程上传的文章,感兴趣的朋友一起看看吧2023-11-11docker容器映射tcp或udp端口-如何通过docker-compose.yml
这篇文章主要介绍了docker容器映射tcp或udp端口-如何通过docker-compose.yml问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-03-03kubernetes1.5.2升级到kubernetes1.10一些主要的设定修改记录
今天小编就为大家分享一篇关于kubernetes1.5.2升级到kubernetes1.10一些主要的设定修改记录,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2018-12-12docker 命令报异常permission denied的解决方案
这篇文章主要介绍了docker 命令报异常permission denied的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-03-03Docker容器无法被stop or kill问题的解决方法
这篇文章主要介绍了Docker容器无法被stop or kill问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-09-09
最新评论