- 准备解压缩好的jdk、打包好的spring boot项目
[root@izlnxqoeytyh4fz cowsay]# ls
actuator-0.0.1-SNAPSHOT.jar Dockerfile jdk1.8.0_231
2. 创建Dockerfile,内容如下:
FROM centos
# FROM:定制的镜像都是基于 FROM 的镜像,这里的 centos就是定制需要的基础镜像。
MAINTAINER zyr
# 指定维护者信息 zyr
COPY jdk1.8.0_231 jdk1.8.0_231
# 复制jdk
ADD actuator-0.0.1-SNAPSHOT.jar actuator-0.0.1-SNAPSHOT.jar
# 添加spring boot项目
ENV JAVA_HOME=/jdk1.8.0_231
ENV PATH=$JAVA_HOME/bin:$PATH
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 配置jdk环境
EXPOSE 8080
# 暴露8080端口
ENTRYPOINT ["java","-jar","/actuator-0.0.1-SNAPSHOT.jar"]
# 指定执行启动spring boot小项目
- 编译并生成镜像
[root@izlnxqoeytyh4fz cowsay]# docker build -t zyr:test .
Sending build context to Docker daemon 432.4MB
Step 1/9 : FROM centos
---> 0f3e07c0138f
Step 2/9 : MAINTAINER zyr
---> Running in 6ac5a66c6559
Removing intermediate container 6ac5a66c6559
---> b25c4d4793be
Step 3/9 : COPY jdk1.8.0_231 jdk1.8.0_231
---> 2473747d3fee
Step 4/9 : ADD actuator-0.0.1-SNAPSHOT.jar actuator-0.0.1-SNAPSHOT.jar
---> f04773bcaf1a
Step 5/9 : ENV JAVA_HOME=/jdk1.8.0_231
---> Running in 0446d9c35c66
Removing intermediate container 0446d9c35c66
---> 14f706100eee
Step 6/9 : ENV PATH=$JAVA_HOME/bin:$PATH
---> Running in fcdd0af4a66a
Removing intermediate container fcdd0af4a66a
---> 3242c8019668
Step 7/9 : ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
---> Running in b16d4a869c8f
Removing intermediate container b16d4a869c8f
---> 538edbd46907
Step 8/9 : EXPOSE 8080
---> Running in e6ae3dcc6d84
Removing intermediate container e6ae3dcc6d84
---> 2a9e3e689639
Step 9/9 : ENTRYPOINT ["java","-jar","/actuator-0.0.1-SNAPSHOT.jar"]
---> Running in 049c78f694f3
Removing intermediate container 049c78f694f3
---> b0bffbe39896
Successfully built b0bffbe39896
Successfully tagged zyr:test
注意:
(1)通过目录下的 Dockerfile 构建一个 zyr:test(镜像名称:镜像标签)。
(2)最后的 . 代表本次执行的上下文路径
- 查看生成的镜像
docker images
5. 创建容器并运行
docker run -d -p 8080:8080 zyr:test
6. 访问项目