一、搭建项目

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

application.yml

056c1bd071ec2ced3363079fb4cf4779.png

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

二、编写 Dockerfile

cd //mnt/jar_file/

e59ae2bbb776efc5e820607cc7eb3262.png

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

880ae7ae1b7805d9922ee51378b58c5f.png

四、运行镜像

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

53ebeadf669586e5c5aa1d6d658483d3.png

第一个8761  容器对外端口

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

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

列出所有正在运行的容器

[root@localhost jar_file]# docker ps

468f50833c337c58e3e198f34dd1be26.png

五、查看服务

493cf29a6ade0c3d9481651675c338bf.png

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐