springboot项目部署到docker

1、创建sprintboot项目。

@Controller
public class TestController {

    @Resource
    private UserService userService;

    @GetMapping("haha")
    @ResponseBody
    public String haha() {
        System.out.println("欢迎光临");
        return "你好啊,docker里的springboot项目";
    }
}

2、在springboot项目里,增加Dockerfile文件和.dockerignore文件
在这里插入图片描述
Dockerfile文件内容如下:

FROM java:8
WORKDIR application
COPY target/es_learn-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8088
ENTRYPOINT ["java", "-jar", "app.jar"]

.dockerignore文件内容如下:(只保留target目录下的jar文件)

**
!target/*.jar

使用“mvn package”命令,就可以在target目录下生成es_learn-0.0.1-SNAPSHOT.jar文件

3、命令行下进入Dockerfile所在目录

4、通过Dockerfile构建镜像

#命令(后面的.不能少)
docker build -t es_learn:v3 .

# 输出
Sending build context to Docker daemon  78.08MB
Step 1/5 : FROM java:8
...
Step 5/5 : ENTRYPOINT ["java", "-jar", "app.jar"]
---> Running in 9c1924a5171a
Removing intermediate container 9c1924a5171a
---> 1e1ba0ad3c98
Successfully built 1e1ba0ad3c98
Successfully tagged es_learn:v1

#查看构建的镜像
docker images es_learn
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
es_learn            v1                  1e1ba0ad3c98        49 minutes ago      721MB

5、根据镜像创建容器

docker run -d --name es_learn -p 8080:8088 es_learn:v1

#查看日志
docker logs es_learn

2021-07-21 12:22:00.633  INFO 1 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2021-07-21 12:22:01.560  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8088 (http) with context path ''
2021-07-21 12:22:01.584  INFO 1 --- [           main] org.luo.es_learn.EsLearnApplication      : Started EsLearnApplication in 10.968 seconds (JVM running for 12.074)

6、浏览器访问项目
在这里插入图片描述
7、踩的坑
1)mysql连接问题:在docker容器里访问宿主机的mysql,不能用localhost:3306,mac和windows需要用host.docker.internal:3306,参考:https://blog.csdn.net/Aaren_Jiang/article/details/111936579

2)springboot项目中用了jsp,本地的服务可以正常访问,部署到docker里,访问就报错,目前还未解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值