使用Docker部署Java项目

一、Dockerfile

在开始制作镜像之前需要先了解一下Dockerfile文件。
Dockerfile 是一个对镜像进行描述的文本文件,其内容包含四个部分: 基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。
简单的说就是告诉Docker,在制作镜像过程中需要怎么做,比如需要java环境,需要制作的应用在哪,应用的启动命令是怎样的等等信息。
一些Dockerfile的部分指令:
基础镜像信息: FROM
维护者信息:MAINTAINER
镜像操作指令: RUN、COPY、ADD、EXPOSE、WORKDIR、ONBUILD、USER、VOLUME等
容器启动时执行指令:CMD、ENTRYPOINT

具体内容详见官方文档:Dockerfile reference | Docker Docs

二、为Java项目编写Dockerfile文件

准备好要制作成镜像的应用,这里以本人在项目开发过程中的一个Eureka服务为例,应用包名为:eureka_server.jar。创建一个Dockerfile(touch Dockerfile)文件与eureka_server.jar放在同一个文件夹下,如下所示:
Dockerfile
编辑Dockerfile(vim Dockerfile)

FROM java:alpine
ADD eureka_server.jar eureka_server.jar
EXPOSE 9990
ENTRYPOINT ["java","-jar","/eureka_server.jar","--spring.profiles.active=prod"]

以上大概描述了这样一件事:以java:alpine为镜像基础,将eureka_server.jar文件复制到容器中的eureka_server.jar文件,并在容器内部使用端口9990运行程序,并在容器启动时以

java -jar /eureka_server.jar --spring.profiles.active=prod

的命令启动应用。这简短的语法,可以很好的描述该镜像。

三、通过build命令制作镜像

语法: docker build [OPTIONS] PATH | URL | -

eureka应用制作成镜像:

docker build -t eureka .


-t给镜像命名为eureka,代表将当前目录下所有文件构建到镜像中。我们通过images查看下制作好的镜像,并运行看看。

docker run -p 9990:9990 --name eureka eureka

上面启动命令没有-d命令意味着你会在控制台中看到eureka服务的启动过程,和我们在Idea中打印的启动日志一致。等待启动完成即可。访问http://xxxx:9990看看效果。看到eureka的页面,意味着大功告成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值