spring Boot项目使用docker部署

spring Boot项目使用docker部署

1、虚拟机中以安装了docker

2、为项目中的每个模块引入部署插件,修改每个模块的pom

<!--引入部署插件-->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <mainClass>com.cxj.UserApplication</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>

3、从根目录进行打包

在这里插入图片描述
打包好以后:每个某块下的target都会生成一个jar包
在这里插入图片描述

4、创建如下的文件夹结构

在这里插入图片描述

5、把打包好的各模块的jar包依次放入上述对应文件夹,并创建一个Dockerfile文件

在这里插入图片描述

6、Dockerfile写入的内容

FROM openjdk:8-jre
ENV APP_PATH=/apps
WORKDIR $APP_PATH
COPY user-1.0-SNAPSHOT.jar $APP_PATH/app.jar
EXPOSE 8040
ENTRYPOINT ["java","-jar"]
CMD ["app.jar"]

在这里插入图片描述

7、docker-compose.yml:文件编写(具体参数自行查找其他文章)

version: "3.3"

networks:
  elmdemo_network:
volumes:
  data:
services:
  nacos:
    image: nacos/nacos-server:2.0.2
    ports:
      - 8848:8848
    environment:
      - JVM_XMS=256m
      - JVM_XMX=256m
      - MODE=standalone
    networks:
      - elmdemo_network

  mysql:
    image: mysql:5.7
    ports:
      - "3306:3306"
    networks:
      - elmdemo_network
    volumes:
      - data:/var/lib/mysql
      - ./elmdemo.sql:/docker-entrypoint-initdb.d/elmdemo.sql
    environment:
      - "MYSQL_ROOT_PASSWORD=abc123"
      - "MYSQL_DATABASE=elm"
      
#以下就是自定义的模块,注意build,context就是自己创建的images文件夹各模块对应的位置,dockerfile就是里面的dockerfile文件
  account:
    build:
      context: ./images/account
      dockerfile: Dockerfile
    ports:
      - "8050:8050"
    depends_on:
      - nacos
      - mysql

  client:
    build:
      context: ./images/client
      dockerfile: Dockerfile
    ports:
      - "8030:8030"
    depends_on:
      - nacos

  menu:
    build:
      context: ./images/menu
      dockerfile: Dockerfile
    ports:
      - "8020:8020"
    depends_on:
      - nacos
      - mysql

  users:
    build:
      context: ./images/users
      dockerfile: Dockerfile
    ports:
      - "8040:8040"
    depends_on:
      - nacos
      - mysql

  order:
    build:
      context: ./images/order
      dockerfile: Dockerfile
    ports:
      - "8010:8010"
    depends_on:
      - nacos
      - mysql

8、idea的remote host工具,操作看图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

具体详情可搜索其他攻略,结果如下:在虚拟机下创建一个elmdemo文件夹,把images、docker-compose、mysql的语句文件(我自己用了mysql)直接拖入
在这里插入图片描述

9、使用远程链接启动:

  • 在虚拟机中cd 到创建的elmdemo文件夹,然后输入 docker-compose up,即可开始部署

  • 在控制台(另起一个)输入docker ps,查看当前运行的images
    在这里插入图片描述

  • 访问:不再是localhost,而是虚拟机ip地址

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值