独立 Docker 容器中的 Memcached 超时和端口错误

Memcached in standalone Docker container time out and port error

我 运行 设置了 3 Ubuntu 个虚拟机。两个 运行 Python 生产代码库,另一个有一个 Memcached Docker 容器。在 Memcached 机器上我 运行 docker run -dit --name production-memcached --publish 11211:11211 memcached:latest.

代码库在尝试与其交互时收到以下错误消息:

"exception": "TimeoutError(10060, 'A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond', None, 10060, None)"

我有 运行 docker exec -it production-memcached memcached stats 并收到以下错误消息。

failed to listen on TCP port 11211: Address already in use

但是我已经 运行 netstat -plnt 并得到了 tcp6 0 0 :::11211 :::* LISTEN 35030/docker-proxy,这对我来说很好。

我能够通过打开端口 80 并使用 iptables 将传入端口 80 转发到端口 11211 来实现它,但我更愿意使用 Memcached 端口号。

Memcached 客户端由以下行创建:

client = base.Client(("domain.co.uk", 11211))

如有任何帮助,我们将不胜感激。

DigitalOcean 不允许 in-traffic 在端口 11211 上访问其虚拟机。如果你想要一台 Memcached 机器,你还需要一个虚拟机来充当你和它之间的代理。我希望这可以避免让我头疼的问题!