从Windows主机访问dockerized redis

时间:2017-10-24 18:42:33

标签: docker redis

对于Windows上的节点后端开发我试图在docker容器中设置redis,因为redis windows版本似乎对我来说是错误的。我是码头工人的新手,我不知道随之而来的所有原则。

到目前为止我做了什么:

  1. 已安装的泊坞窗
  2. 运行' docker pull redis'
  3. 运行' docker run --name some-redis -d redis redis-server --appendonly yes'启动redis容器
  4. 问题:

    我尝试连接到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,我缺少什么? (我的节点应用程序未停靠)

1 个答案:

答案 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>,然后公开某个端口。