我有一个包含下一张图片的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服务并连接到它?我已经尝试了很多不同的组合而没有任何运气..
答案 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