对于windows上的节点后端开发,我正在尝试在一个停靠器容器中设置redis,因为redis windows版本对我来说似乎是错误的。我对码头很陌生,也不知道随之而来的所有原则。
到目前为止我所做的:
问题:
我试着连接到127.0.0.1:6379 (当我在我的系统上本地安装了redis时,它过去是工作的),但是它是超时的。我以为redis容器有它自己的ip地址,我想它是ip地址( 172.17.0.2 )。但是,连接到这个ip也不起作用。
PS C:\WINDOWS\system32> docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' some-redis
172.17.0.2
PS C:\WINDOWS\system32> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d3b796e9df5c redis "docker-entrypoint..." About an hour ago Up 8 minutes 6379/tcp some-redis为了从我的本地机器连接到我的容器内的红宝石,我遗漏了什么?(我的节点应用程序没有被篡改)
发布于 2017-10-24 18:53:36
你漏掉了端口。使用命令运行redis容器
docker run --name some-redis -p6379:6379 -d redis redis-server --appendonly yes
如果Dockerfile包含EXPOSE <some_port>,则意味着将另一个容器连接到同一个码头网络中,可以连接到该端口。没别的了。
如果您想要从主机连接到容器,您需要说明它的码头。
-P选项添加到docker run命令中。在这种情况下,docker将所有定义的端口公开给本地机器上的随机端口。-p<port_on_host_machine>:<port_inside_docker_container>,然后公开某些端口。https://stackoverflow.com/questions/46917845
复制相似问题