准备材料
1.idea创建的没有错误的springboot项目
2.安装好docker环境的linux服务器 centos7
3.xshell工具
4.xftp工具
开始步骤
一、打包springboot项目
打开idea工具,点击底部Terminal,在命令行中输入命令:mvn clean package 按回车,即可执行自动打包。
然后等到几分钟,出现如下图所示表示打包成功。
二、利用xftp将打包好的jar文件拷贝至linux服务器
打包好的jar文件在target文件夹下
1.打开xshell连上Linux服务器,在root根目录下hsc下创建 好dockerFile文件夹
命令:mkdir -p /root/hsc/dockerFile
2.利用xftp将jar文件拷贝至该文件夹下
注意:放到哪个目录下可以自行选择,无要求。
三、创建Dockerfile文件
注意,文件名必须为Dockerfile,不能是其他名称
1.进入到dockerFile文件夹:命令 cd/root/hsc/dockerFile
2.创建Dockerfile文件:命令 touchDockerfile
至此,dockerFile文件夹下存在两个文件
3.编辑Dockerfile文件 :命令 viDockerfile
按i进入输入状态,将下列信息输入到Dockerfile文件中,输入完成后按esc,然后按Shift+; 输入命令wq!保存。
# 拉取基础镜像
FROM java:8
# 设置作者信息
MAINTAINER hsc"707671533@qq.com"
# 把hsc2022010701nacos-0.0.1-SNAPSHOT.jar添加到容器里,并重命名为app.jar
# 因为hsc2022010701nacos-0.0.1-SNAPSHOT.jar和Dockerfile在同一个目录下,所以只写文件名即可
ADD hsc2022010701nacos-0.0.1-SNAPSHOT.jar app.jar
# 设置端口号,此处只开放一个端口8080
EXPOSE 8080
# 执行命令,此处运行app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","app.jar"]
四、制作docker镜像
1.编辑好Dockerfile文件保存后,在当前文件夹输入命令
docker build -f Dockerfile -t hsc_spring:v1.0 .
hsc_spring:v1.0表示你的镜像名称,可以自己输入其他的。命令后面的 . 不能省略
输入命令,回车后,出现如下界面,表示镜像制作成功
2.输入命令 docker images查看镜像
可以看到镜像制作成功。
五、创建容器,运行springboot项目制作的镜像
输入命令:
// -d表示后台运行-p后面有两个端口,分别是:宿主机端口:容器端口
hsc_spring 表示你的容器名称
hsc_spring:v1.0 表示容器使用的哪个镜像
docker run -d -p 8089:8080 --name=hsc_spring hsc_spring:v1.0
输入该命令后,回车,即完成了springboot在docker上的部署
六、验证
springboot代码:
@RestController
@RequestMapping("/provider")
public class NacosTestController {
@RequestMapping(value = "/echo", method = RequestMethod.GET)
public String getStr() {
return "Hello hsc";
}
浏览器验证:
表示已经部署完成了,之前设置的8089端口,即外网访问端口,需要linux服务器打开该端口。
七、部署多个节点
既然部署了一个节点,那么我们想要部署多个,该怎么办呢
很简单,继续在命令行下输入,使用8088端口,就可以在docker下部署多个节点了
docker run -d -p 8088:8080 --name=hsc_spring1 hsc_spring:v1.0
docker run -d -p 8087:8080 --name=hsc_spring2 hsc_spring:v1.0
验证:
打开nocos查看,节点
至此,该服务多个节点部署完成。