首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在主机模式下连接到码头容器(redis)。

无法在主机模式下连接到码头容器(redis)。
EN

Stack Overflow用户
提问于 2021-07-12 23:01:10
回答 1查看 117关注 0票数 0

一般来说,这可能只是与WSL有关,但Redis是我的用例。

这很好,我可以连接如下:docker exec -it redis-1 redis-cli -c -p 7001 -a Password123

但是我不能从本地的windows pc连接到容器。我得到了

无法连接:连接到host.docker.internal:7001的错误10061。由于目标机器主动拒绝连接,因此无法建立连接。

当容器没有运行时,这也是相同的错误,所以不确定它是码头问题还是WSL?

代码语言:javascript
复制
version: '3.9'
  
services:     
  redis-cluster:
    image: redis:latest
    container_name: redis-cluster
    command: redis-cli -a Password123 -p 7001 --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1 --cluster-yes
    depends_on:
      - redis-1
      - redis-2
      - redis-3
      - redis-4
      - redis-5
      - redis-6
    network_mode: host
      

  redis-1:
    image: "redis:latest"
    container_name: redis-1

    network_mode: host

    entrypoint: >
      redis-server
      --port 7001
      --appendonly yes
      --cluster-enabled yes
      --cluster-config-file nodes.conf
      --cluster-node-timeout 5000
      --masterauth Password123
      --requirepass Password123
      --bind 0.0.0.0
      --protected-mode no

# Five more the same as the above
EN

回答 1

Stack Overflow用户

发布于 2021-07-26 13:42:00

根据提供的docker-compose.yml文件,容器端口不公开,因此从外部( windows/wls主机)无法到达它们。检查这里以获得官方参考。更多关于码头和端口这里的信息

作为redis-1服务的一个示例,您应该在定义中添加以下内容。

代码语言:javascript
复制
...
redis-1:
  ports:
  - 7001:7001
  ...
...

docker exec ...正在工作,因为端口可以从容器内部到达。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68354678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档