专业编程基础技术教程

网站首页 > 基础教程 正文

实战java项目打包成docker镜像(将java项目打包成jar包)

ccvgpt 2024-07-20 11:43:33 基础教程 64 ℃

一、Docker服务安装

docker服务安装请下载docker桌面版本(笔者是windows10),直接安装即可,下载路径:

实战java项目打包成docker镜像(将java项目打包成jar包)

https://www.docker.com/products/docker-desktop

二、新建Dockerfile

现将源码导入到IDEA中,这里会以IDEA来例子来进行说明。在项目根目录下新建一个Dockerfile文件,如下图所示:

三、编辑Dockerfile内容

FROM java:8
WORKDIR /app

#拷贝文件到容器
ADD target/autotestserver-0.0.1-SNAPSHOT.jar /app/app.jar

#暴露8000端口
EXPOSE 8000

#设置环境变量
ENV JAVA_OPTS="-server -Xms1024m -Xmx1024m"

ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app/app.jar" ]



四、编译项目

在打包镜像之前,要确保被打包的源代码或者配置文件,是最新的,这样子才能保证我们打包出来的docker镜像集成了最新的代码和配置。我们在maven中,先clean,再package,这样子就能保证target/classes目录下是最新的资源了。


五、打开Docker Desktop



六、构建Docker image

打开CMD窗口,进入到Dockerfile所在的目录,执行以下命令:

docker build -t autotestserver . --rm

-t 以“name:tag”格式命名和选择标记,其中name就是autotestserver,不指定tag就是latest

. 表示当前目录下

--rm 表示如果之前存在这个镜像则删除

当执行命令之后会得到以下输出,就证明镜像打包成功

在Docker Deskstop中,可以看到最新打包出来的镜像


七、把镜像包文件导出,并上传到部署服务器

注意:如果是在服务器上打包的镜像,则不需要做此操作,因为镜像已经在服务器中的本地仓库中。直接进行【八】操作即可

#镜像文件导出
docker save -o autoserver.tar autotestserver:latest



将镜像tar包上传到服务器,切换到上传所在目录,导入上传的镜像包

docker load -i autoserver.tar

八、启动docker镜像

执行以下命令:

docker run -p 8000:8000 -itd autotest:latest

-p ;8000:8000 指的是 将docker容器的8000端口映射成主机的8000端口上

-itd :-i 即使没有连接,也要保持标准输入保持打开状态。-t分配一个伪tty,一般与 -i 连用。-d表示后台运行

autotestserver:latest :其中的autotestserver是镜像的名称,tag就是latest

Tags:

最近发表
标签列表