无法连接到docker redis

时间:2018-02-01 22:28:22

标签: docker spring-boot redis

我有一个包含下一张图片的docker-compose文件:

redis:
    image: redis
    container_name: redis
    ports:
      - 6379:6379

我预计会公开容器名称,并且我可以使用redis连接:6379 uri,但我无法做到。这是配置:

fun jedisLocalConnectionFactory(): JedisConnectionFactory {
    val jedisConFactory = JedisConnectionFactory()
    jedisConFactory.hostName = "redis"
    jedisConFactory.port = 6379
    return jedisConFactory
}

如何公开这个redis服务并连接到它?我已经尝试了很多不同的组合而没有任何运气..

1 个答案:

答案 0 :(得分:2)

使用容器名称连接只能与用户定义的网络一起使用。这是从Docker文档中捕获的

  

Docker不支持默认网桥>网络上的自动服务发现。如果您希望容器按容器名称解析IP地址,请>您应该使用用户定义的网络。   https://docs.docker.com/engine/userguide/networking/

使用此作为参考:

services:
  springboot:
    image: springboot
    networks:
      - my-net

  redis:
    image: redis
    container_name: redis
    ports:
      - 6379:6379
    networks:
      - my-net

networks:
  my-net:
    driver: bridge