服务器 
首页 > 服务器 > 浏览文章

docker启动Java程序的方法步骤

(编辑:jimmy 日期: 2024/9/24 浏览:3 次 )

创建一个简单的Spring boot web项目

idea工具创建Spring boot web项目,因为是测试,一直next就行。

docker启动Java程序的方法步骤

docker启动Java程序的方法步骤

docker启动Java程序的方法步骤

docker启动Java程序的方法步骤

写一个test API,用来访问,服务端口号可以不用改,我本地改成8701。

docker启动Java程序的方法步骤

程序启动,发现程序不是默认的8080端口了,访问:http://localhost:8701/v1/hello

docker启动Java程序的方法步骤

docker启动Java程序的方法步骤

以上一个简单web项目建好了,下面我们通过docker来运行这个demo项目

第一步,你需要安装docker(这里不做详细步骤)。

第二步,我们需要一个有java环境docker镜像。我是从网易云镜像中心下载了一个,地址:https://c.163yun.com/hub#/library/repository/info"htmlcode">

docker pull hub.c.163.com/housan993/centos7_jdk8:latest

第三步,我们现将demo项目打个jar包,mvn install,为了方便我生成的jar直接从target中拿到项目根目录下了。

docker启动Java程序的方法步骤

第四步,我们在项目下编写一个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 .

看到如下日志,镜像就制作成功了。

docker启动Java程序的方法步骤

第五步,我们根据制作的镜像来启动我们程序的容器,并将端口(8701)映射到把本机的8701出来。

docker run -d -p 8701:8701 demo-image

run完之后我们会得到一长串字符,这就是容器的CONTAINER ID。我们docker ps一下看看

docker启动Java程序的方法步骤

我们再看看容器启动的日志,看看我们的java程序有没有运行起来

docker logs [CONTAINER ID]

docker启动Java程序的方法步骤

由容器的日志,我们发现和我们本地启动一个Java程序的日志一模一样,那么我通过映射出来的端口,再访问下demo程序看看,行不行。

docker启动Java程序的方法步骤

我们将demo容器停下,看我们还能访问不?
stop容器命令:docker stop [CONTAINER ID]
访问不了了。。。

docker启动Java程序的方法步骤

我们再把我们的demo容器启动
docker start [CONTAINER ID]
又可以访问了。至此,我们通过docker 跑java程序的简单使用已经完成。

docker启动Java程序的方法步骤

展望上面只是docker 跑java程序的简单使用。我们后续有兴趣的,可以自己将打包,build等命令进行shell脚本的分装,对容器版本进行自动生成,参数变量的动态取值都是可以的。只能说容器话非常好玩,将来自己项目自动化部署也是非常方便的,后面将介绍k8s容器编排工具,更为有趣。

上一篇:利用nginx搭建静态资源服务器的方法步骤
下一篇:基于Nginx的Mencached缓存配置详解
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?