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包(我这里简单写了一个接口来用于测试调用)
3、在项目下的target文件夹下找到打包好的jar包
4、测试项目是否能正常运行
(1)在jar包所在的地址栏里输入cmd然后按回车进入命令行
(2)输入以下命令启动项目,并查看项目是否成功正常启动
java -jar 项目的jar包
5、创建docoerfile
(1)在项目里新建一个名为Dockerfile的文件
(2)
效果图:
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"]
效果图:
7、在服务器里的你想存放项目的位置新建文件夹,用于存放Java项目
8、把打包好的jar包和Dockerfile文件上传到服务器里
9、使用Dockerfile打包出一个docker镜像
#选项及解释
-t的t是tag,表示生成的镜像的名称和版本号
.表示当前构建时上下文的路径为当前目录
docker build -t todocker:0.1 .
效果图:
若是第一次使用java:8镜像会从DockerHub仓库里下载,其中的效果图会如下(不管是上面的效果图还是下面的效果图,只要出现了Successfully built的字眼就表示构建docker镜像构建成功,不必担心实际效果图和文中不同而以为自己构建docker镜像的过程中出现问题)
10、使用以下命令查看镜像是否构建成功
docker images
效果图:
11、使用以下命令利用我们新建的docker镜像来启动docker容器
#选项及解释
-d表示容器在后台运行
-P表示随机指定端口
--name="name"参数用于给容器取名字 ,用来区分容器
docker run -d -P --name 容器名称 镜像名称
效果图:
12、访问docker容器内的项目
(1)因为用-P参数随机指定了docker的端口来映射docker容器内的SpringBoot项目的8080端口,导致不知道docker随机指定的是哪个端口,所以使用以下命令查看随机指定的docker端口是什么(如果在启动docker容器时指定了端口可以不用进行这一步操作)
docker ps
效果图:
(2)使用curl命令来访问docker容器内的SpringBoot项目,出现404的字眼,证明SpringBoot项目启动成功
curl localhost:docker随机指定的端口
效果图
(3)使用curl命令调用SpringBoot项目的接口,发现能调用成功
curl localhost:docker随机指定的端口/接口路径
效果图:
创作不易,如果这篇文章对你有帮助,希望能点个赞帮助文章的推广,如果文章有错漏,希望各位能批评指正,谢谢大家。