docker-compose执行springboot项目

该文档提供了一个docker-compose.yaml文件的示例,用于配置和管理多个基于openjdk镜像的Java应用容器。每个服务(如umps、mall、weixin、auth和gateway)都定义了容器名称、镜像、卷挂载(包括jar包和日志)、端口映射、环境变量(设置时区)以及额外的主机映射。这些服务都将与特定的IP地址(192.168.120.220)上的外部服务(如nacos、rabbitmq等)进行通信,并且使用host网络模式。
摘要由CSDN通过智能技术生成

编辑文件

version: "3"
services:
  umps:
    # 指定容器名称
    container_name: umps
    # 重启机制
    # restart: always
    image: openjdk:11
    volumes:
      # 本地jar包路径
      - /home/service/app/yshop-upms.jar:/yshop-upms.jar
      # 挂载日志 -v A:B ,A指宿主机位置,B指容器位置
      - /home/service/app/logs/yshop-upms:/logs/yshop-upms
      # 指定容器时间为宿主机时间
      - /etc/localtime:/etc/localtime
    # 访问端口
    ports:
      - "9201:9201"
    environment:
      # 指定时区
      - TZ="Asia/Shanghai"
    # 启动容器后执行的命令
    entrypoint: java -jar yshop-upms.jar
    extra_hosts:
      - "nacos:192.168.120.220"
      - "rabbitmq:192.168.120.220"
      - "sentinel:192.168.120.220"
      - "redis:192.168.120.220"
      - "mysql:192.168.120.220"
    network_mode: "host"
  mall:
    # 指定容器名称
    container_name: mall
    # 重启机制
    # restart: always
    image: openjdk:11
    volumes:
      # 本地jar包路径
      - /home/service/app/yshop-mall.jar:/yshop-mall.jar
      # 挂载日志 -v A:B ,A指宿主机位置,B指容器位置
      - /home/service/app/logs/yshop-mall:/logs/yshop-mall
      # 指定容器时间为宿主机时间
      - /etc/localtime:/etc/localtime
    # 访问端口
    ports:
      - "9202:9202"
    environment:
      # 指定时区
      - TZ="Asia/Shanghai"
    # 启动容器后执行的命令
    entrypoint: java -jar yshop-mall.jar
    extra_hosts:
      - "nacos:192.168.120.220"
      - "rabbitmq:192.168.120.220"
      - "sentinel:192.168.120.220"
      - "redis:192.168.120.220"
      - "mysql:192.168.120.220"
    network_mode: "host"
  weixin:
    # 指定容器名称
    container_name: weixin
    # 重启机制
    # restart: always
    image: openjdk:11
    volumes:
      # 本地jar包路径
      - /home/service/app/yshop-weixin.jar:/yshop-weixin.jar
      # 挂载日志 -v A:B ,A指宿主机位置,B指容器位置
      - /home/service/app/logs/yshop-weixin:/logs/yshop-weixin
      # 指定容器时间为宿主机时间
      - /etc/localtime:/etc/localtime
    # 访问端口
    ports:
      - "8001:8001"
    environment:
      # 指定时区
      - TZ="Asia/Shanghai"
    # 启动容器后执行的命令
    entrypoint: java -jar yshop-weixin.jar
    extra_hosts:
      - "nacos:192.168.120.220"
      - "rabbitmq:192.168.120.220"
      - "sentinel:192.168.120.220"
      - "redis:192.168.120.220"
      - "mysql:192.168.120.220"
    network_mode: "host"
  auth:
    # 指定容器名称
    container_name: auth
    # 重启机制
    # restart: always
    image: openjdk:11
    volumes:
      # 本地jar包路径
      - /home/service/app/yshop-auth.jar:/yshop-auth.jar
      # 挂载日志 -v A:B ,A指宿主机位置,B指容器位置
      - /home/service/app/logs/yshop-auth:/logs/yshop-auth
      # 指定容器时间为宿主机时间
      - /etc/localtime:/etc/localtime
    # 访问端口
    ports:
      - "9200:9200"
    environment:
      # 指定时区
      - TZ="Asia/Shanghai"
    # 启动容器后执行的命令
    entrypoint: java -jar yshop-auth.jar
    extra_hosts:
      - "nacos:192.168.120.220"
      - "rabbitmq:192.168.120.220"
      - "sentinel:192.168.120.220"
      - "redis:192.168.120.220"
      - "mysql:192.168.120.220"
    network_mode: "host"
  gateway:
    # 指定容器名称
    container_name: gateway
    # 重启机制
    # restart: always
    image: openjdk:11
    volumes:
      # 本地jar包路径
      - /home/service/app/yshop-gateway.jar:/yshop-gateway.jar
      # 挂载日志 -v A:B ,A指宿主机位置,B指容器位置
      - /home/service/app/logs/yshop-gateway:/logs/yshop-gateway
      # 指定容器时间为宿主机时间
      - /etc/localtime:/etc/localtime
    # 访问端口
    ports:
      - "8081:8081"
    environment:
      # 指定时区
      - TZ="Asia/Shanghai"
    # 启动容器后执行的命令
    entrypoint: java -jar yshop-gateway.jar
    extra_hosts:
      - "nacos:192.168.120.220"
      - "rabbitmq:192.168.120.220"
      - "sentinel:192.168.120.220"
      - "redis:192.168.120.220"
      - "mysql:192.168.120.220"
    network_mode: "host"

上传jar包

# 启动
docker-compose -f docker-compose.yaml up -d
# 删除
docker-compose -f docker-compose.yaml down
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速部署分布式应用。通过 Docker Compose,我们可以定义和运行多个 Docker 容器,并通过一个 YAML 文件来配置需要的服务。 下面是使用 Docker Compose 部署 Spring Boot 项目的简单步骤: 1. 编写 Dockerfile 在 Spring Boot 项目的根目录下创建一个名为 Dockerfile 的文件,并添加以下内容: ``` FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE ADD ${JAR_FILE} app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] ``` 2. 编写 docker-compose.yml 文件 在 Spring Boot 项目的根目录下创建一个名为 docker-compose.yml 的文件,并添加以下内容: ``` version: '3' services: app: image: your-image-name build: context: . dockerfile: Dockerfile ports: - "8080:8080" environment: - SPRING_PROFILES_ACTIVE=prod restart: always ``` 其中,your-image-name 是自定义的镜像名称,需要在构建镜像时使用。 3. 构建镜像 在 Spring Boot 项目的根目录下执行以下命令,构建镜像: ``` docker build -t your-image-name . ``` 4. 启动容器 在 Spring Boot 项目的根目录下执行以下命令,启动容器: ``` docker-compose up -d ``` 5. 查看容器状态 执行以下命令查看容器状态: ``` docker-compose ps ``` 至此,你已经成功使用 Docker Compose 部署了 Spring Boot 项目。如果需要停止容器,可以执行以下命令: ``` docker-compose stop ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张航柯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值