最近沉迷于docker,所以想把自己博客的服务都通过docker进行部署,但是踩了个坑:我用docker起的api服务连接不了docker容器中的redis服务,又又又出现了dial tcp 127.0.0.1:6379: connect: connection refused
的错误。
先把我的环境和配置和大家介绍下,我是通过docker启动了一个redis server,名字是myRedis,然后在我的api服务中,Redis的连接配置为127.0.0.1:6379
。
因为api的这个容器本地没有起这个6379这个端口,然后连接127.0.0.1:6379
导致连接失败。所以我们将这redis的host:端口让api服务的容器访问到就可以了。
通过网上的搜索,只需要在run的时候带上link标签绑定redis,然后修改api的连接配置即可。
首先查看下redis的name是什么,在本机中,我的redis叫myRedis
。
然后修改api服务中redis配置,将redis的连接配置由127.0.0.1:6379
改为redisAlis:6379
,这个redisAlis
后面会讲到,此时在运行api服务容器时,我们可以这样启动
docker run --rm --link myRedis:redisAlis --name myTestgo testgo
其中--link myRedis:redisAlis
是本次的重点,myRedis:redisAlis
就是{docker容器中redis server的name(就是myRedis)}:{创建一个myRedis的别名,也就是Api服务的redis的配置的host}。这样启动,就不会报错了。