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