docker-compos配置springboot,redis

docker-compose配置好mysql、redis和后端,后端跑起来后一直报错:

问题一:

Connection refused: localhost/127.0.0.1:6379

问题二:

io.lettuce.core.RedisCommandExecutionException: NOAUTH Authentication required

先是编辑了后端中application-redis.yml文件,

spring:
  redis:
#   redis服务器地址
    host: ${REDIS_HOST}
#   redis服务器连接端口
    port: ${REDIS_PORT}
#   连接超时时间(毫秒)
    timeout: ${REDIS_TIMEOUT}
#   redis服务器连接密码(默认为空)
    password: ${REDIS_PASSWORD}
    pool:
#      连接池最大连接数(使用负值表示没有限制)
      max-active: ${REDIS_MAX_ACTIVE}
#      连接池中的最小空闲连接
      min-idle: ${REDIS_MIN_IDLE}
#     连接池中的最大空闲连接
      max-idle: ${REDIS_MAX_IDLE}
#     连接池最大阻塞等待时间(使用负值表示没有限制)
      max-wait: ${REDIS_MAX_WAIT}

然后在docker-compose.yml文件中使用插值法

 cxcy-v5:
    restart: always
    image: 
    environment:
      DB_HOST: mysql
      DB_PORT: 3306
      DB_USER: root
      DB_PASS: 
      DB_NAME: chuangye_v6
      REDIS_HOST: redis
      REDIS_PORT: 6379
      REDIS_TIMEOUT: 5000
      REDIS_PASSWORD: 123456
      REDIS_MAX_ACTIVE: 0
      REDIS_MIN_IDLE: 0
      REDIS_MAX_IDLE: 8
      REDIS_MAX_WAIT: 1
    depends_on:
      - mysql
      - redis

 但是没用,最后将docker-compose.yml改成

cxcy-v5:
    restart: always
    image: 
    environment:
      spring.datasource.host: mysql
      spring.redis.host: redis          #解决问题一
      spring.redis.password: 123456     #解决问题二
      DB_HOST: mysql
      DB_PORT: 3306
      DB_USER: root
      DB_PASS: 
      DB_NAME: chuangye_v6
      REDIS_HOST: redis
      REDIS_PORT: 6379
      REDIS_TIMEOUT: 5000
      REDIS_PASSWORD: 123456
      REDIS_MAX_ACTIVE: 0
      REDIS_MIN_IDLE: 0
      REDIS_MAX_IDLE: 8
      REDIS_MAX_WAIT: 1
    depends_on:
      - mysql
      - redis

终于成功,对应redis容器的docker-compose配置为

redis:
    restart: always
    image: redis:alpine
    command: redis-server --save 600 1000 --requirepass 123456
    ports:
      - 6379:6379
    volumes:
      - ./redis:/data

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值