业界动态
Docker基础知识 (7) - 使用 Docker 部署 SpringBoot 项目
2024-12-27 02:12


本文将完全复制 “ Springboot基础知识(08)- spring-boot-starter-web(Web启动器)” 里的 SpringbootWeb 项目的代码和配置到新项目 SpringbootWebDocker。

在新项目 SpringbootWebDocker 的基础上,修改部分配置和代码,Jar 打包 SpringbootWebDocker 项目,并使用 Docker 部署 Jar 包。

    1) 修改 pom.xml


    2) 修改 src/main/resources/application.properties 文件

        注:不要设置 server.address。

    3) 修改 src/main/java/com/example/controller/IndexController.java 文件

    菜单 View -> Tool Windows -> Maven -> SpringbootWebDocker -> Lifecycle -> Clean & Package

        jar 包生成在目录 target/ 里

            SpringbootWebDocker.jar
            SpringbootWebDocker.jar.original  

    点击 IDEA 底部 Terminal 标签页,执行如下命令。

        java -jar target/SpringbootWebDocker.jar

           ...

            Spring boot web project     

        访问 http://localhost:9090/hello,页面显示:

            Hello Page - SpringBoot Web Docker

    注:SpringbootWebDocker.jar  包含依赖包,可以直接运行。SpringbootWebDocker.jar.original 里不包含依赖的包(要手动配置依赖环境),运行前要把文件名上的 “.original” 去掉。  

        打包的具体步骤可以参考 SpringbootWeb 项目的打包过程。 

    1) 部署环境

        IP 地址(本地测试环境):192.168.0.10

        操作系统:Linux CentOS 7.9
        
        Linux 用户:创建 Linux 用户 docker 来完成下文的部署工作 (Root 权限或 Sudo 权限,用户目录 /home/docker)
        
        Docker 版本:


        注:搭建 Docker 环境可以参考 “Docker基础知识 (1) - Docker 架构、Docker 安装、Docker 镜像加速”。

            CentOS 7.9 下不需要安装 Java 环境。

    2) 创建 Dockerfile

        创建 /home/docker 目录,把 SpringbootWebDocker.jar 上传到该目录。

        创建 /home/docker/logs 文件夹存放日志文件,该路径与 SpringBoot 项目中 logging.file.path 设置的一致。
        
        创建 home/docker/Dockerfile 文件,内容如下:

        注:这里使用 Java 8 基础镜像来演示,建议实际应用中使用较新的 Java 版本,可以访问 https://hub.docker.com/_/openjdk/tags 查询。


    3) 构建镜像

        $ cd /home/docker
        $ sudo docker build -t webdocker . 

       注:运行命令时,注意最后的 “.”,不要遗漏。


        $ sudo docker images

            REPOSITORY                TAG        IMAGE ID       CREATED          SIZE
            webdocker                 latest     210d3e763d71   33 seconds ago   661MB
            java                           8            d23bdf5b1b1b    5 years ago          643MB
            ...

    4) 创建并启动容器

        $ sudo docker run -d -p 9090:9090 webdocker     # 只指定端口

        $ sudo docker run -d -p 9090:9090 --name webdocker -v /home/docker/logs:/home/docker/logs webdocker     # 指定端口、容器名、参数等

Docker基础知识 (7) - 使用 Docker 部署 SpringBoot 项目

            6eda5554156b1bcc459d888ca92af844e164382e02f7f97edb81c7743f1b19ab
        
        $ sudo docker ps    # 查看容器


        $ sudo docker exec -it webdocker /bin/bash   # 进入容器


        $ ls -la /home/docker/logs  # 在宿主主机上查看 log

    以上就是本篇文章【Docker基础知识 (7) - 使用 Docker 部署 SpringBoot 项目】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/news/10691.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 https://sicmodule.kub2b.com/mobile/ , 查看更多   
最新文章
发改委:推进户用光伏发展,助力农民拓宽增收新路径
中国产品流通经纪人协会供销合作行业标准《农产品食品供应商信用评价规范》参编单位征集函中国农产品流通经纪人协会供销合作行业
泉州百度爱采购运营介绍
百度爱采购入驻条件有哪些:商家需持有工商行政管理局颁发的营业执照,并且执照在6个月有效期内;厂家商品真实在营且符合国家相
抖音feed是什么 feed广告投放流程
feed是什么?feed流(又称信息流)它是穿插在App内容中的广告,具有原生沉浸式体验,支持多种展现形式。feed可以进行线索收集,
抖音投流怎么投?找到最合适的优化路线,实现精准引流与高效转化!
在如今竞争激烈的市场中,抖音广告已经成为商家吸引流量、增加曝光和转化的重要工具。很多企业都在问:“抖音投流怎么投,才能真
提升脸书播放/浏览量:Facebook Workplace的策略
以下介绍:提升脸书播放/浏览量:Facebook Workplace的策略关于提升脸书播放/浏览量:Facebook Workplace的策略所提到的问题请大
想换07年左右的老车,值得吗?
百车全说别人研究车,而我研究你!问:想买一辆2007年左右,绿色(丨), 3.0。主要是喜欢这种雪茄车身,想留着自己偶尔开一下,家
年度盘点丨西安:2024年度十大交通精细化治理案例
​​2024年,西安公安交警深入践行以人民为中心的发展思想,聚焦群众反映强烈的交通问题,坚持缓堵保畅、全域治理,坚持小切口入
怎样才能很好的提高百度SEO的排名呢
怎样使自己的网站在百度等搜索引擎排名靠前  提高用户体验确保网站加载速度快,移动设备友好,并提供良好的用户互动体验。利用
《人工智能:未来世界的“智慧引擎”》
在当今这个科技飞速发展的时代,人工智能(Artificial Intelligence,简称AI)正以前所未有的速度重塑
未来直播技术的创新与发展方向
随着信息技术的快速发展和移动互联网的广泛普及,直播已经成为当今互联网领域的重要应用之一。从最初的娱乐直播到现在的教育直播