我正在使用Intellij(PyCharm)的Cloud Code插件制作本地云运行服务,但是本地部署的服务无法连接到Docker中运行的redis实例:
redis.exceptions.ConnectionError: Error 111 connecting to 127.0.0.1:6379. Connection refused.
我可以从python shell连接到本地运行的redis实例,只是在minikube / docker中运行的云运行服务似乎无法与其连接。
有任何想法吗?
由于人们会建议完全不相关的帖子,因此请进行编辑-在本地运行的Cloud Run实例利用Docker和Minikube来运行,并且由Cloud Code为Intellij自动配置。我怀疑intellij的Cloud Code将Cloud Run实例置于无法访问MacOS localhost上运行的服务(但可以访问Internet)的环境中,这就是为什么我在帖子中标记了这些特定项目的原因。请将建议限制为考虑到这些因素的建议。
如果您使用以下方法检查Docker网络:
docker network list
您会看到一个名为的网络cloud-run-dev-internal
。您需要将Redis容器连接到该网络。为此,请运行以下命令(此指令假定您的容器名称为some-redis):
docker network connect cloud-run-dev-internal some-redis
仔细检查您的容器是否已连接到网络:
docker network inspect cloud-run-dev-internal
然后使用容器名称连接到Redis Host:
import redis
...
redis_host = os.environ.get('REDISHOST', 'some-redis')
redis_port = int(os.environ.get('REDISPORT', 6379))
redis_client = redis.StrictRedis(host=redis_host, port=redis_port)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句