我正在查看这里的文件,并看到以下一行:
$ docker run -it --network some-network --rm redis redis-cli -h some-redis在--network some-network字段中应该做什么?在默认端口映射docker run -d -p 6379:6379之前,我的docker在字段中运行命令,等等。
我使用默认的docker网络配置启动我的redis服务器,并看到它正在使用:
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abcfa8a32de9 redis "docker-entrypoint.s…" 19 minutes ago Up 19 minutes 0.0.0.0:6379->6379/tcp some-redis但是,使用默认桥接网络会产生:
$ docker run -it --network bridge --rm redis redis-cli -h some-redis
Could not connect to Redis at some-redis:6379: Name or service not known发布于 2019-06-13 20:04:27
忽略--network bridge命令并使用:
docker exec -it some-redis redis-cli发布于 2019-06-13 19:47:05
Docker通过使用网络驱动程序包括对网络容器的支持。默认情况下,Docker为您提供两个网络驱动程序,桥和覆盖驱动程序。您还可以编写一个网络驱动程序插件,以便您可以创建自己的驱动程序,但这是一项高级任务。
点击这里阅读更多内容。https://docs.docker.com/engine/tutorials/networkingcontainers/
发布于 2019-06-13 22:59:21
你得跑
docker network create some-networksome-network的名称并不重要,只要Redis服务器、特殊的CLI容器和任何与服务器对话的客户端都使用相同的名称。(如果您使用的是Docker,这种情况会自动发生,网络将被命名为directoryname_default;使用docker network ls查找它。)
如果您的Redis服务器已经在运行,则可以使用码头网络连接将现有容器附加到新网络。这是在您创建容器之后能够更改的为数不多的设置之一。
如果您只是想运行一个客户端来与这个Redis对话,那么您根本不需要Docker。您可以在本地安装Redis客户端工具并运行redis-cli,指向主机的IP地址和docker run -p选项中的第一个端口。Redis协议非常简单,您也可以使用原始工具(如nc或telnet )。
https://stackoverflow.com/questions/56587595
复制相似问题