一、搭建项目
这里我用 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