docker -部署项目-后端

3.1.部署Java项目

hmall项目是一个maven聚合项目,使用IDEA打开hmall项目,查看项目结构如图:
我们要部署的就是其中的hm-service,其中的配置文件采用了多环境的方式:
其中的application-dev.yaml是部署到开发环境的配置,application-local.yaml是本地运行时的配置。
 
查看application.yaml,你会发现其中的JDBC地址并未写死,而是读取变量:
这两个变量在application-dev.yamlapplication-local.yaml中并不相同:
在dev开发环境(也就是Docker部署时)采用了mysql作为地址,刚好是我们的mysql容器名,只要两者在一个网络,就一定能互相访问。
 
我们将项目打包:
结果:
hm-service目录下的Dockerfilehm-service/target目录下的hm-service.jar一起上传到虚拟机的root目录:
部署项目:
# 1.构建项目镜像,不指定tag,则默认为latest
        docker build -t hmall .

        # 2.查看镜像
        docker images
        # 结果
        REPOSITORY    TAG       IMAGE ID       CREATED          SIZE
        hmall         latest    0bb07b2c34b9   43 seconds ago   362MB
        docker-demo   1.0       49743484da68   24 hours ago     327MB
        nginx         latest    605c77e624dd   16 months ago    141MB
        mysql         latest    3218b38490ce   17 months ago    516MB

        # 3.创建并运行容器,并通过--network将其加入hmall网络,这样才能通过容器名访问mysql
        docker run -d --name hmall --network hmall -p 8080:8080 hmall
 
 
测试,通过浏览器访问:http://你的虚拟机地址:8080/search/list
posted @ 2023-12-15 14:14  会秃头的小白  阅读(41)  评论(0编辑  收藏  举报