在Docker中运行Java后端服务器
2024-11-15 09:07:26
场景
项目中遇到了要接手师兄的Java代码,并迁移到新服务器启动服务。考虑到方便日后可能的迁移,打算使用Docker容器化部署。
dockerfile
首先撰写需要的dockerfile文件。目前代码运行稳定而且没有修改需求,因此我直接使用了之前的Jar包,而不考虑区分调试环境和构建环境,并且直接使用Jar包部署。
1 | # 使用官方的OpenJDK镜像作为基础镜像 |
这里只复制了jar包,减少了部署时间和镜像大小;EXPOSE
指令声明了监听端口,用作文档化目的(实际还需要在部署时指定端口);ENTRYPOINT
指令定义了容器运行后执行的命令,与CMD
的区别是,CMD
提供的参数会被传递给 ENTRYPOINT
指定的程序,简单使用直接用ENTRYPOINT
即可。
docker-compose
docker-compose
提供了简洁高效的多Docker容器运行编排功能,这里定义的docker-copose.yml如下。
1 | version: '3' |
这里的build
指定了通过当前文件夹下的kgmaker
镜像进行构建,ports
指定了容器和主机的端口映射。
运行时,只需要简单的
1 | docker-compose up |
即可。