对于Windows上的节点后端开发我试图在docker容器中设置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
为了从我的本地机器连接到容器内的redis,我缺少什么? (我的节点应用程序未停靠)
答案 0 :(得分:3)
您错过了曝光端口。使用命令
运行redis容器 docker run --name some-redis -p6379:6379 -d redis redis-server --appendonly yes
如果Dockerfile
包含EXPOSE <some_port>
,则表示另一个容器进入相同的docker网络可以连接到此端口。没什么。
如果你想从主机连接到容器,你需要说一下docker。
-P
命令添加docker run
选项。在这种情况下泊坞
将所有已定义的端口公开给本地计算机上的随机端口。 -p<port_on_host_machine>:<port_inside_docker_container>
,然后公开某个端口。