Bootstrap

Docker上运行jar包

一、搭建项目


这里我用 IDEA 搭建了一个 SpringBoot 项目,SpringBoot 的版本是 2.1.1.RELEASE

application.yml

 

搭建好项目后,将其打成 jar 包,上传到服务器上

二、编写 Dockerfile

 


cd //mnt/jar_file/

 

 

vim Dockerfile 或编辑好后上传到jar同一个目录

#FROM命令定义构建镜像的基础镜像,该条必须是dockerfile的首个命令
FROM java:8
#用于指定持久化目录
VOLUME /temp
#将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget
ADD eureka-0.0.1-SNAPSHOT.jar eureka.jar
#构建镜像时执行的命令
RUN bash -c 'touch /eureka.jar'
#配置容器,使其可执行化。配合CMD可省去"application",只使用参数
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","-Xmx1024m","-Xms1024m","/eureka.jar"]

 

:wq

三、生成镜像

 

[root@localhost jar_file]# docker build -t test/eureka . 

build -t  创建镜像,并指定镜像名称和版本号 (若镜像名称后不加版本号,则版本默认为 lastest)

test/eureka : 定义的镜像名称
. 点表示当前目录 (Docker 会自动寻找当前目录下的 Dockerfile 文件)

 

列出所有镜像列表

[root@localhost jar_file]# docker images


四、运行镜像

[root@localhost jar_file]# docker run -d -p 8761:8761 --name eureka test/eureka

第一个8761  容器对外端口

第二个8761 容器内程序自身对外端口

 eureka 为容器名称,  test/eureka 为镜像名称

 

列出所有正在运行的容器

[root@localhost jar_file]# docker ps

 

 


五、查看服务

;