我正在尝试使用持久化存储运行redis。我跟随官方的页面进行安装。
我用-
docker pull redis我从持久化存储开始使用-
docker run --name some-redis -d redis redis-server --appendonly yes我试着用redis cli连接到redis实例-
docker run -it --network some-network --rm redis redis-cli -h some-redis它给了我以下的错误-
docker:来自守护进程的错误响应:网络某些-没有找到网络。
我一直在关注这些文件,为什么这不起作用?
发布于 2020-02-24 13:32:29
这两个答案都给出了有趣的信息,但缺乏主要内容。
在码头,集装箱可能连接到某些网络。
默认情况下,如果在运行容器时不指定任何网络,它将使用默认的网桥网络:在该网络中,任何容器都可以与任何其他容器通信,但只能通过它们的ip地址进行通信。
您不能通过容器名称在该网络的容器之间进行通信。
所以在这里docker run -it --network some-network --rm redis redis-cli -h some-redis,some-redis部件不是一个可解析的主机名。
要克服这个问题,您必须通过它的ip地址来引用容器。
检查容器,以了解:
docker container inspect some-redis | grep -i ipaddress你应该得到这样的信息:"IPAddress": "172.17...."
现在将ip地址指定为-h参数,它应该很好:
docker run -it --network some-network --rm redis redis-cli -h 172.17...这实际上不是一种使两个容器相互通信的网络/可重用/可移植的方式。这更适合做实验。
您可以通过容器名称在该网络的容器之间进行通信。
创建您的网络:
docker network create redis-network运行redis服务器并将其连接到该网络:
docker run --name some-redis -d --network redis-network redis redis-server --appendonly yes运行redis客户端并将其连接到该网络:
docker run -it --rm --network redis-network redis redis-cli -h some-redis现在,客户机可以通过-h some-redis连接到服务器实例。
发布于 2020-02-24 12:42:31
首先创建网络
docker network create some-network然后在所有必须使用网络的容器中使用它。
docker run --network some-network当您完成删除网络。
docker network rm some-network发布于 2020-02-24 12:54:01
首先,此命令以redis-server的形式运行。
docker run --name some-redis -d redis redis-server --appendonly yes接下来,要运行redis-cli连接redis-server应该是附加redis-server容器并运行redis-cli。
docker exec -it some-redis redis-cli -h当然,如果您希望像redis页面一样通过网络访问,则需要将cli容器的网络附加到redis-server容器以共享网络。
docker run --rm -it --net=container:some-redis redis redis-cli -hhttps://stackoverflow.com/questions/60375993
复制相似问题