第一步,docker部署springboot项目时,第一需要满足其环境的配置。给服务器安装docker环境及jdk环境。
不做过多赘述。可参考https://www.cnblogs.com/coloz/p/11121311.html
第二步,需要将springboot项目打成jar包。直接使用maven的package即可
@RestController
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@RequestMapping("/hello")
public String hello() {
return "<h1>Hello Spring-Boot Maven Docker</h1>";
}
}这里插入代码片
第三步 ,我们需要将jar包上传至服务器。可以使用mobaxstream,xshell,crt等工具 传上去即可 我是放在root目录下。并且创建一个Dockerfile 命令:touch Dockerfile。
Dockerfile
FROM java:8
EXPOSE 8080
VOLUME /slm
ADD demo-0.0.1-SNAPSHOT.jar demo.jar
RUN sh -c 'touch /demo.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /demo.jar" ]
第四部 将jar包打成镜像 dockerfile准备好之后直接 build他(后面有个点别忘记了 点前有个空格)
docker build -t demo .
第五步这个时候我们就可以看到镜像了 直接创建开启容器就ok了(我们在dockerfile中配置了暴露的端口8080 这个自行配置,记得要对外暴露访问 ,不然只有服务器内部才可以访问)
docker run -itd -p 8080:8080 --name demo 4acc037ff8a3 /bin/bash
第六步,输入连接静待Hello
(备注,1.该种方式如果代码出现更新,个人感觉比较麻烦 有没有大神提出一些好方法,求指导
2.boot项目的端口号,和dockerfile expose端口号 及穿件容器-p端口号保持一致 否则连接不到
)