docker中部署springboot项目,并且外部访问
1.准备dockerfile文件,和项目jar,文件和jar必须在同一目录下 FROM java:8 MAINTAINER znh ADD cnblogs-0.0.1-SNAPSHOT.jar app.jar #jar 改名为app.jar EXPOSE 8080 #项目里面的端口 ENTRYPOINT ["java","-jar","./app.jar"]
2.构建镜像 mydocker指镜像名(注意后面有个.)
docker build -t mydocker .
3.运行docker
docker run -d -p 5617:8080 mydocker
注意端口号顺序,5617是指在doucker暴露在外部的端口,8080是指docker里面的项目的端口
4.执行docker ps
查看一下正在运行的容器
5.映射nginx
location /privateBlog {
proxy_pass http://127.0.0.1:5617; #5617端口是doucker暴露在外部的端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
6.访问 192.168.124.16/privateBlog/findArticle就可以了。
192.168.124.16是虚拟机的ip,privateBlog/findArticle是项目里面定义的一个接口路径
7.进入容器
docker exec -it 容器id/bin/bash
8.停掉所有在运行的容器
docker stop $(docker ps -q)