gpt4 book ai didi

docker - 从 windows 主机访问 dockerized redis

转载 作者:行者123 更新时间:2023-12-04 19:27:36 26 4
gpt4 key购买 nike

对于 Windows 上的节点后端开发,我试图在 docker 容器中设置 redis,因为 redis windows 版本对我来说似乎有问题。我对 docker 很陌生,我不知道随之而来的所有原则。

到目前为止我做了什么:

  • 安装 docker
  • 运行 'docker pull redis'
  • 运行'docker run --name some-redis -d redis redis-server --appendonly yes'启动redis容器

  • 问题:

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

    最佳答案

    你错过了暴露端口。使用命令运行 redis 容器
    docker run --name some-redis -p6379:6379 -d redis redis-server --appendonly yes
    如果 Dockerfile包含 EXPOSE <some_port>这意味着另一个容器进入同一个 docker 网络 可以连接到这个端口。而已。

    如果你想从主机连接到容器,你需要说一下 docker。

  • 您可以添加-P docker run 的选项命令。在这种情况下, docker
    将所有定义的端口公开给本地计算机上的随机端口。
  • 或者
    您可以添加选项 -p<port_on_host_machine>:<port_inside_docker_container>然后你暴露某些端口。
  • 关于docker - 从 windows 主机访问 dockerized redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69606785/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com