从本地云 运行 模拟器连接到 Docker (Redis) 中的容器 运行
Connect to a container running in Docker (Redis) from Cloud Run Emulator locally
我正在使用 Cloud Code 插件为 Intellij (PyCharm) 创建本地云 运行 服务,但是本地部署的服务无法连接到 运行ning 中的 运行ning =24=]:
redis.exceptions.ConnectionError: Error 111 connecting to 127.0.0.1:6379. Connection refused.
我可以从 python shell 连接到本地 运行ning redis 实例,它只是云 运行 服务 运行ning 在 minikube/docker 似乎无法连接到它。
有什么想法吗?
编辑,因为人们建议完全不相关 posts - 本地 运行ning Cloud 运行 实例使用 Docker 和 Minikube 到 运行 ,并由 Cloud Code for Intellij 自动配置。我怀疑 Cloud Code for intellij 将 Cloud 运行 实例置于无法访问 MacOS 本地主机上的服务 运行ning(但可以访问 Internet)的环境中,这就是为什么我在 post。请将建议限制为考虑到这些项目的建议。
如果您检查 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 主机:
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)
我正在使用 Cloud Code 插件为 Intellij (PyCharm) 创建本地云 运行 服务,但是本地部署的服务无法连接到 运行ning 中的 运行ning =24=]:
redis.exceptions.ConnectionError: Error 111 connecting to 127.0.0.1:6379. Connection refused.
我可以从 python shell 连接到本地 运行ning redis 实例,它只是云 运行 服务 运行ning 在 minikube/docker 似乎无法连接到它。
有什么想法吗?
编辑,因为人们建议完全不相关 posts - 本地 运行ning Cloud 运行 实例使用 Docker 和 Minikube 到 运行 ,并由 Cloud Code for Intellij 自动配置。我怀疑 Cloud Code for intellij 将 Cloud 运行 实例置于无法访问 MacOS 本地主机上的服务 运行ning(但可以访问 Internet)的环境中,这就是为什么我在 post。请将建议限制为考虑到这些项目的建议。
如果您检查 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 主机:
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)