1、准备一个SpringBoot项目(我这里使用的是一个简单的SpringBoo项目,代码如下)

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TestController {

    @RequestMapping("/test")
    public String sayHello(){
        return "Hello World!";
    }

}

2、把SpringBoot项目打包成jar包(我这里简单写了一个接口来用于测试调用)

docker打包Android docker打包springboot项目_spring boot

3、在项目下的target文件夹下找到打包好的jar包

docker打包Android docker打包springboot项目_容器_02

4、测试项目是否能正常运行

(1)在jar包所在的地址栏里输入cmd然后按回车进入命令行

docker打包Android docker打包springboot项目_容器_03

(2)输入以下命令启动项目,并查看项目是否成功正常启动

java -jar 项目的jar包

docker打包Android docker打包springboot项目_容器_04

5、创建docoerfile

(1)在项目里新建一个名为Dockerfile的文件

docker打包Android docker打包springboot项目_容器_05

(2) 

docker打包Android docker打包springboot项目_容器_06

效果图:

docker打包Android docker打包springboot项目_容器_07

6、编写Dockerfile

#基础镜像
FROM java:8

#把当前目录下的jar包拷贝进docker镜像里
COPY *.jar /todocker.jar

#CMD命令用于指定这个容器启动的时候要运行的命令(CMD一行只执行一个命令,可以写多个CMD)
CMD ["***server.port=8080***"]

#对外暴露8080端口
EXPOSE 8080

#ENTRYPOINT命令用于指定这个容器启动的时候要运行的命令(可以追加命令)
ENTRYPOINT ["java","-jar","/todocker.jar"]

效果图:

docker打包Android docker打包springboot项目_java_08

7、在服务器里的你想存放项目的位置新建文件夹,用于存放Java项目

docker打包Android docker打包springboot项目_spring boot_09

8、把打包好的jar包和Dockerfile文件上传到服务器里

docker打包Android docker打包springboot项目_spring boot_10

docker打包Android docker打包springboot项目_docker_11

9、使用Dockerfile打包出一个docker镜像

#选项及解释
-t的t是tag,表示生成的镜像的名称和版本号
.表示当前构建时上下文的路径为当前目录

docker build -t todocker:0.1 .

效果图:

docker打包Android docker打包springboot项目_docker打包Android_12

若是第一次使用java:8镜像会从DockerHub仓库里下载,其中的效果图会如下(不管是上面的效果图还是下面的效果图,只要出现了Successfully built的字眼就表示构建docker镜像构建成功,不必担心实际效果图和文中不同而以为自己构建docker镜像的过程中出现问题)

docker打包Android docker打包springboot项目_java_13

10、使用以下命令查看镜像是否构建成功

docker images

效果图: 

docker打包Android docker打包springboot项目_docker_14

11、使用以下命令利用我们新建的docker镜像来启动docker容器

#选项及解释
-d表示容器在后台运行
-P表示随机指定端口
--name="name"参数用于给容器取名字 ,用来区分容器

docker run -d -P --name 容器名称 镜像名称

效果图:

docker打包Android docker打包springboot项目_java_15

12、访问docker容器内的项目

(1)因为用-P参数随机指定了docker的端口来映射docker容器内的SpringBoot项目的8080端口,导致不知道docker随机指定的是哪个端口,所以使用以下命令查看随机指定的docker端口是什么(如果在启动docker容器时指定了端口可以不用进行这一步操作)

docker ps

效果图: 

docker打包Android docker打包springboot项目_docker打包Android_16

(2)使用curl命令来访问docker容器内的SpringBoot项目,出现404的字眼,证明SpringBoot项目启动成功

curl localhost:docker随机指定的端口

效果图 

docker打包Android docker打包springboot项目_spring boot_17

(3)使用curl命令调用SpringBoot项目的接口,发现能调用成功

curl localhost:docker随机指定的端口/接口路径

效果图: 

docker打包Android docker打包springboot项目_docker打包Android_18


创作不易,如果这篇文章对你有帮助,希望能点个赞帮助文章的推广,如果文章有错漏,希望各位能批评指正,谢谢大家。